Working reasoner