Preferences class revised