More streamlined and functional backward chainer