Improved submodule structure