hierarchical templates