reorganized evaluation framework into eval.h/cpp