add template hierarchy