refactor Evaluator