factory method 追加