Undo Redo mostly working