Some minor optimizations, extra tests and finally the evaluation cache!