added s3 upload functionality