added another item to factory and using dependency injection to pas in other objects