improve S3 uploader