restructure for evaluator