add copy func of templates