types of templates