fixed persistent undo