tweaked description
refactored code into evaluator and a separate function for each evaluation measure