tmpl func