Finished the evaluate implementation