added client side support