template FactoryService