DataUpload program refactor