ステップ3まで実装。