added uploading to S3 and hashing