uses template.