Refactored the code so it now support multi module projects

Test suite runs without failures/errors.

Tests for multiprojects must still be added