Factoryパターン追加