generic not needed in the factory