undo button and callback