added case checking to forall