added ability to edit control (with undo ability)