Author FrankYueh  Date 2008/09/04  Modified 2009/11/20