Refactoring and adding support to dependencies
Compiling modules