adding dependency injection changes