大幅に書き換え中
Improve maintainability
Briefly...