adding dependency injection