modify factory method name