reasoner