added support for cache option