by Satoshi Azuma