refactored part of the dependencies
refactored reqruired dependecies