Copyright (C) Yoshi Otobe all rights reserved