passed all unit tests
Signed-off-by: Sho Nakatani <lay.sakura@gmail.com>