submodule helper