adds (optional) s3 upload support #4
merged