added new caching features