how is submodule formed