revised to lean on build submodule