lifted update_submodules out from s/pull