More refactor adding submodules