module dependency injection added