- added a base implementation (not tested) for caching of records