Author FrankYueh  Date 2008/12/31  Modified 2010/11/27