Author: Satoshi Mabuchi