Modified the reasoner