added template_type