refactored code, dependency injection