Deserves a note that negative values mean "no preference", here and in the other method