class name change to factory