better version of evaluator