client side templates