setup and submodules