Fixing #22 - Refactored evaluator