fully implement cancelling edit