変更2の実装および関連クラスの変更