better factory method names