Author: Satoshi Ide