Refactor the evaluation function into class
Temp work