added a factory for project