implement service layer and dependency injection controller