first cut at cache interface
better cache mli