- dependency injection refactoring