complete template switcher