refactoring some dependencies