Reasoner