added preliminary caching features