Refactor, add ability to retry uploads.
add signer class