add submodule dispatcher