ロジックとメインを分離し、大幅リファクタリング。