+ add TemplateMethod