adding support for cache