client side scafolding