refactor controller DI container