2 types of templates by languages