creates factory for project