client side templating