using gen_server to implement Evaluator server