Make use of submodules

Change folder structure and start making use of submodule functionality.