Converting overwrite to only check s3 once

Also refactoring many of the tests.