using the factory
refactoring
fixing tests