Preference Reasoner