dependencies refactoring