add hierarchical modules