Update factory method