took out the experimental work on template.h