client side usage