Fix circular dependency when linking by telling the linker to look for such dependencies.
Some code cleanup in the modules