Changed caching mechanism to use ETags