Added undo/redo structure