refactored module dependencies