function add, template_add