こんな感じ 12~21行が上の説明に相当します