add basic undo redo support for deletion without recursion