use client side templates instead of server