issue 15 :  adds handling for caching with etag and modified since.