hw5 caching