added etag, last-update and cache support