reimplemented server-side UNDO/REDO