added reasoner