refactored s3 into its own thing. completely untested. updated readme.