editing on client side and server side