execute() and undo() were returning results in the wrong order