refactor to use aws-sdk and signedUrl instead of direct upload