begin work on cache, add test case, currently stack overflowing in VS.  Good on CAEN