refactored evaluator classes