caching with etags seems to work