Di refactoring