add caching when serving files