changes to history and control classes for undo of edit function