Changed ThowViolation to use expressions
removed some comments
NewExpressionWrapper
New Expression