First commit to separate evaluator
Factor out evaluator