Add template switching function