with submodules