abstract/refactor
S3 uploading #likeAboss