Refactoring main dependency resolver
refactoring
Restructuring
First restructuring complete
append to last commit