template.copy() function