Refactored evaluation.
Refactored evaluation a bit more.