factory method renamed