refactor evaluation to belong to evaluator