templating framework