adding predicate checking to value generation
adding expression based quick check