diff --git a/src/files-ui/core/index.ts b/src/files-ui/core/index.ts
index e76085c5ebbd5f35e0d87965dee23db775d95d3f..8d276ea53da35f4a9e3ff85c1f9fe40d25f32083 100644
--- a/src/files-ui/core/index.ts
+++ b/src/files-ui/core/index.ts
@@ -104,7 +104,6 @@ export {
     sleepTransition,
     toUploadableExtFileList,
     unableToUploadResult,
-    uploadOnePromiseXHR,
     makeServerResponse,
     uploadFile,
     uploadFormData,
@@ -117,7 +116,9 @@ export {
     makeErrorUploadResponse,
     makeSuccessUploadResponse,
     addExtraData,
-    addHeaders
+    addHeaders,
+    sanitizeArrExtFile,
+    unexpectedErrorUploadResult
 } from "./upload";
 
 export {
diff --git a/src/files-ui/core/upload/index.ts b/src/files-ui/core/upload/index.ts
index 9977205eba298f77fd98096128c871052d241397..514079648c4726a5fbe13c5fc831139150f9e2bd 100644
--- a/src/files-ui/core/upload/index.ts
+++ b/src/files-ui/core/upload/index.ts
@@ -2,9 +2,6 @@ export {
 
     uploadExtFile,
     FuiUpload,
-    completeUploadResult,
-    unableToUploadResult,
-    uploadOnePromiseXHR,
     uploadFile,
     uploadFormData,
 } from "./upload";
@@ -30,15 +27,8 @@ export {
     preparingToUploadOne,
     sleepTransition,
     toUploadableExtFileList,
-} from "./utils.upload";
-/* export {
-    FuiUpload,
     completeUploadResult,
-    instantPreparingToUploadOne,
-    preparingToUploadOne,
-    sleepTransition,
-    toUploadableExtFileList,
+    sanitizeArrExtFile,
     unableToUploadResult,
-    unexpectedErrorUploadResult,
-    uploadOnePromiseXHR
-} from "./upload.utils"; */
\ No newline at end of file
+    unexpectedErrorUploadResult
+} from "./utils.upload";
diff --git a/src/files-ui/core/upload/upload.ts b/src/files-ui/core/upload/upload.ts
index 2c4dfcdb6ea620de35e6ed60677bfd294f6c9949..236c2fbf019f4e983ee8a79ce3f8663f3f5bf249 100644
--- a/src/files-ui/core/upload/upload.ts
+++ b/src/files-ui/core/upload/upload.ts
@@ -4,6 +4,7 @@ import addExtraDataUpload from "./addExtraData.upload";
 import addHeaders from "./addheaders.upload";
 import { ABORTED_ERROR_RESPONSE, NO_XHR_PROVIDED_ERROR, TIMEOUT_ERROR_RESPONSE, UNEXPECTED_ERROR_RESPONSE } from "./errors.upload";
 import { JsonParseResponse, makeErrorUploadResponse, makeSuccessUploadResponse } from "./response.upload";
+import { completeUploadResult, unableToUploadResult } from "./utils.upload";
 
 
 /**
@@ -23,30 +24,55 @@ export const uploadFormData = (
     headers: Record<string, string> | undefined
 ) => {
     return new Promise<ServerResponse>((resolve, reject) => {
-        console.log("uploadFile", xhr, method, endpoint, data, headers);
+        console.log("Fui_uploadFormData uploadFile", xhr, method, endpoint, data, headers);
 
         const finalMethod: Method = ["POST", "PUT", "PATCH"].includes(method.toUpperCase()) ? method : "POST";
 
+        let lastLastState: number = -1;
+        let lastState: number = 0;
+        let jumped: boolean = false;
+
         xhr.upload.onload = () => {
-            console.log("uploadFile onLoad", xhr.readyState, xhr.response);
+            console.log("Fui_uploadFormData uploadFile onLoad", xhr.readyState, xhr.response);
         };
         xhr.upload.ontimeout = () => resolve(TIMEOUT_ERROR_RESPONSE);
-        xhr.upload.onabort = () => resolve(ABORTED_ERROR_RESPONSE);
+        xhr.upload.onabort = () => {
+            console.log("Fui_uploadFormData ABORTEEEEDDDD");
+            resolve(ABORTED_ERROR_RESPONSE);
+        };
+        xhr.onloadend = async (e) => {
+            console.log("onloadend loaded", e.loaded);
+            console.log("onloadend total", e.total);
+            console.log("onloadend lengthComputable", e.lengthComputable);
+
+        }
         // listen for `progress` event
         //currently listening on FileItem component hook
         xhr.onreadystatechange = async (e) => {
             //console.log("Finished", xhr);
-            console.log("uploadFile onreadystatechange", xhr.readyState, xhr.response);
+
+            console.log("Fui_uploadFormData uploadFile onreadystatechange e.type", e.type);
+            console.log("Fui_uploadFormData uploadFile onreadystatechange", xhr.readyState, xhr.response);
+
+            lastLastState = lastState;
+            lastState = xhr.readyState;
+
             if (xhr.readyState === 4) {
                 if (xhr.response !== "") {
                     //there is th answer
                     resolve(JsonParseResponse(xhr));
                 } else {
                     //error unexpected
-                    resolve(UNEXPECTED_ERROR_RESPONSE);
+                    console.log("Fui_uploadFormData EMPTY status", xhr.status);
+                    console.log("Fui_uploadFormData EMPTY readyState", xhr.readyState);
+                    console.log("Fui_uploadFormData EMPTY upload", xhr.upload);
+                    //console.log("Fui_uploadFormData EMPTY abort", xhr.abort);
+                    //const jumped = lastLastState - lastLastState !== 1;
+                    resolve(ABORTED_ERROR_RESPONSE);
+
                 }
             } else {
-                console.log("FuiUpload NOT YET" + xhr.readyState);
+                console.log("Fui_uploadFormData FuiUpload NOT YET" + xhr.readyState);
             }
         };
         // open request
@@ -152,102 +178,11 @@ export function uploadFile(
     });
 }
 
-export const unableToUploadResult = (
-    extFile: ExtFile
-): UploadResponse => {
-    return {
-        id: extFile.id,
-        uploadedFile: {
-            ...extFile,
-            uploadMessage: "Unable to upload. XHR was not provided",
-            uploadStatus: "error"
-        },
-        serverResponse: {
-        }
-    }
-}
-
-export const completeUploadResult = (
-    extFile: ExtFile,
-    serverResponse: ServerResponse,
-    result: UPLOADSTATUS
-): UploadResponse => {
-    return {
-        id: extFile.id,
-        uploadedFile: {
-            ...extFile,
-            uploadMessage: serverResponse.message,
-            uploadStatus: result
-        },
-        serverResponse: serverResponse
-    }
-}
-
-/**
- * @deprecated
- */
-export const uploadOnePromiseXHR = async (
-    extFile: ExtFile,
-    url: string,
-    method?: Method,
-    headers?: Record<string, string>,
-    uploadLabel?: string,
-    extraData?: Record<string, any>
-): Promise<UploadResponse> => {
-    return new Promise(async (resolve, reject) => {
-        try {
-            const uploader: XMLHttpRequest | undefined = extFile.xhr;
-            if (!uploader) {
-                const duiUploadResponse: UploadResponse = unableToUploadResult(extFile);
-                resolve(duiUploadResponse);
-                return;
-            }
-            const localMethod: Method = (method) || "POST";
-            const fileToUpload: File = extFile.file as File;
-
-            const formData = new FormData();
-            if (typeof uploadLabel === "string" && uploadLabel.length > 0) {
-                formData.append(uploadLabel, fileToUpload
-                    //, extFile.file?.name
-                );
-                //add extraData that will be obtained from req.body
 
-            } else
-                formData.append("file", fileToUpload);
 
-            const finalExtraData: Record<string, any> =
-                { otherValue: "other valueee haaaa", param2: { tecnica: "KIKOHUUUU", friend: "Chaos", age: 25 }, ...extraData };
-
-
-            if (finalExtraData) {
-                const extraDataKeys: string[] = Object.keys(finalExtraData);
-                extraDataKeys.forEach(key => {
-                    const finalValue: string = typeof finalExtraData[key] === "string" ? finalExtraData[key] : JSON.stringify(finalExtraData[key]);
-                    formData.append(key, finalValue);
 
-                });
-            }
-            let serverResponse: ServerResponse;
 
-            //console.log();
-            serverResponse = await FuiUpload(uploader, localMethod, url, formData, headers || {});
 
-            if (serverResponse.success) {
-                const duiUploadResponse: UploadResponse = completeUploadResult(extFile, serverResponse, "success");
-                resolve(duiUploadResponse);
-            } else {
-                // success is false
-                const duiUploadResponse: UploadResponse = completeUploadResult(extFile, serverResponse, "error");
-                resolve(duiUploadResponse);
-            }
-        } catch (error) {
-            // on error
-            console.log("uploadOnePromiseXHR ERROR", error);
-            const duiUploadResponse: UploadResponse = unableToUploadResult(extFile);
-            resolve(duiUploadResponse);
-        }
-    });
-};
 
 /**
  * @deprecated
diff --git a/src/files-ui/core/upload/utils.upload.ts b/src/files-ui/core/upload/utils.upload.ts
index 1d58d63a1d913949642c886f4f2fecc5d54b3f76..2c07d1a37581b01825c94bbeaf386edd10bdc36d 100644
--- a/src/files-ui/core/upload/utils.upload.ts
+++ b/src/files-ui/core/upload/utils.upload.ts
@@ -115,3 +115,22 @@ export const sleepTransition = (
     });
 }
 
+export const sanitizeArrExtFile = (arrExtFile: ExtFileInstance[]): ExtFile[] => {
+    /*  console.log("sanitizeArrExtFile", arrExtFile.length, arrExtFile.filter((extFileInstance: ExtFileInstance) => extFileInstance.extraData?.deleted)
+     .map((extFileInstance: ExtFileInstance) => extFileInstance.toExtFile()).length);
+      */
+
+    return arrExtFile.filter((extFileInstance: ExtFileInstance) =>
+        !extFileInstance.extraData?.deleted)
+        .map((extFileInstance: ExtFileInstance) => {
+            if (extFileInstance.uploadStatus === "aborted") {
+                if(!extFileInstance.uploadMessage){
+                    extFileInstance.uploadMessage="Upload aborted";
+                }
+                extFileInstance.uploadStatus = "error";
+            }
+
+            return extFileInstance.toExtFile()
+        });
+
+}
\ No newline at end of file
diff --git a/src/files-ui/core/utils/fileListParser.ts b/src/files-ui/core/utils/fileListParser.ts
index 3e88083c8dd081cd83ad1a7936d149aa8cf6e5bf..46f4b4ad08d99d050434527d3eb14cc480e3e7a9 100644
--- a/src/files-ui/core/utils/fileListParser.ts
+++ b/src/files-ui/core/utils/fileListParser.ts
@@ -7,11 +7,11 @@ import { FileIdGenerator } from "./IdGenerator";
  * @returns an array of ExtFile objects
  */
 export const fileListToExtFileArray = (fileList: FileList): ExtFile[] => {
-    let filesValidated: ExtFile[] = [];
+    let extFileArray: ExtFile[] = [];
     for (let i = 0, f: File; (f = fileList[i]); i++) {
-        filesValidated.push({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type });
+        extFileArray.push({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type });
     }
-    return filesValidated;
+    return extFileArray;
 };
 
 /**
@@ -20,9 +20,9 @@ export const fileListToExtFileArray = (fileList: FileList): ExtFile[] => {
  * @returns an array of ExtFile instances
  */
 export const fileListToExtFileInstanceArray = (fileList: FileList): ExtFileInstance[] => {
-    let filesValidated: ExtFileInstance[] = [];
+    let extFileArray: ExtFileInstance[] = [];
     for (let i = 0, f: File; (f = fileList[i]); i++) {
-        filesValidated.push(new ExtFileInstance({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type  }));
+        extFileArray.push(new ExtFileInstance({ id: FileIdGenerator.getNextId(), file: f, name: f.name, size: f.size, type: f.type  }));
     }
-    return filesValidated;
+    return extFileArray;
 };
\ No newline at end of file