Author: Satoshi Hase