a better way to pull
update submodules