added support for submodules