added: template separation