client side improvements