少しフックを追加、リファクタ。