refactored, retry failed uploads, job abort option