update to use submodules