Refactor evaluator
Add even more refactoring