total redo of templates -- went to full template inheritance