added ExpressionEvaluator + tests