client side manipulation support