caching just doesn't work with streams