adding proper dependency injection