client side custom docs