added caching check