refactor and no undo if there is no rating left to undo