massive changes to the uploader