refactored dependencies