generatorとモデルの機能を実装した