improved evaluator