Author: Subaruichi.