add caching for images