idea for how submodules work