server and client side improvements