recursively update submodules