Expression Evaluator refactored