dependency injection done (needs to define modules)