クラスの分割とテストを追加しました。