use a hash for submodule types