incremental on Chap: Eval part 2
Reorganized code into separate modules for ease.