implemented etag check for upload