build with submodules