dependency injection nucleus