copyright (c) 2009 Shigeki Yamamoto. All Rights Reserved