evaluator is much simpler