renamed type to template