diff --git a/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx b/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx
index 9c948779660efd5578aca664e42bce620132ab46..670d538f43ca34f00035fe43a832ee221c869387 100644
--- a/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx
+++ b/src/components/demo-components/dropzone-demo/AdvancedDropzoneCodeJS.jsx
@@ -16,85 +16,278 @@ const AdvancedDropzoneCodeJS = (props) => {
 export default AdvancedDropzoneCodeJS;
 
 const splittedCodeJS = `<Dropzone
-  style={{ minWidth: "550px" }}
   onChange={updateFiles}
   minHeight="195px"
-  value={files}
-  maxFiles={5}
-  maxFileSize={2998000}
+  value={extFiles}
+  maxFiles={3}
+  // FmaxFileSize={2998000 * 20}
   label="Drag'n drop files here or click to browse"
-  accept=".png, image/*"
-  url="https://my-awsome-server/upload-my-file"
-  uploadOnDrop
-  fakeUploading
->
-  {files.map((file) => (
-    <FileItem
+  // accept=".png,image/*, video/*"
+  uploadConfig={{
+    // autoUpload: true
+    url: BASE_URL + "/file/28048465460",
+    cleanOnUpload: true,
+  }}
+  onUploadStart={handleStart}
+  onUploadFinish={handleFinish}
+  //fakeUpload
+  actionButtons={{
+    position: "after",
+    abortButton: {},
+    deleteButton: {},
+    uploadButton: {},
+  }}
+  >
+  {extFiles.map((file) => (
+    <FileMosaic
       {...file}
-       key={file.id}
-       onDelete={onDelete}
-       onSee={handleSee}
-       resultOnTooltip
-       preview
-       info
-       hd
+      key={file.id}
+      onDelete={onDelete}
+      onSee={handleSee}
+      onWatch={handleWatch}
+      onAbort={handleAbort}
+      onCancel={handleCancel}
+      resultOnTooltip
+      alwaysActive
+      preview
+      info
     />
   ))}
-</Dropzone>`;
-const completeCodeJS = `import { Dropzone, FileItem, FullScreenPreview } from "@dropzone-ui/react";
-import { useState } from "react";
-export default function App() {
-  const [files, setFiles] = useState([]);
-  const [imageSrc, setImageSrc] = useState(undefined);
-  const updateFiles = (incommingFiles) => {
-  console.log("incomming files", incommingFiles);
-  setFiles(incommingFiles);
-  };
-  const onDelete = (id) => {
-  setFiles(files.filter((x) => x.id !== id));
-  };
-  const handleSee = (imageSource) => {
-  setImageSrc(imageSource);
-  };
-  const handleClean = (files) => {
-  console.log("list cleaned", files);
-  };
-  return (
-  <>
-    <Dropzone
-    style={{ minWidth: "550px" }}
-    onChange={updateFiles}
-    minHeight="195px"
-    value={files}
-    maxFiles={5}
-    maxFileSize={2998000}
-    label="Drag'n drop files here or click to browse"
-    accept=".png,image/*"
-    url="https://my-awsome-server/upload-my-file"
-    uploadOnDrop
-    fakeUploading
-    >
-    {files.map((file) => (
-      <FileItem
-        {...file}
-        key={file.id}
-        onDelete={onDelete}
-        onSee={handleSee}
-        resultOnTooltip
-        preview
-        info
-        hd
-      />
-      ))}
-    </Dropzone>
-    <FullScreenPreview
-    imgSource={imageSrc}
-    openImage={imageSrc}
-    onClose={(e) => handleSee(undefined)}
-    />
-  </>
-  );
+</Dropzone>
+<FullScreen
+  open={imageSrc !== undefined}
+  onClose={() => setImageSrc(undefined)}
+  >
+  <ImagePreview src={imageSrc} />
+</FullScreen>
+<FullScreen
+  open={videoSrc !== undefined}
+  onClose={() => setVideoSrc(undefined)}
+  >
+  <VideoPreview src={videoSrc} autoPlay controls />
+</FullScreen>`;
+const completeCodeJS = `import {
+  Dropzone,
+  FileMosaic,
+  FullScreen,
+  ImagePreview,
+  VideoPreview,
+ } from "@files-ui/react";
+
+ const BASE_URL =
+ "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503";
+
+export default function AdvancedDropzoneDemo() {
+ const [extFiles, setExtFiles] = React.useState([]);
+ const [imageSrc, setImageSrc] = React.useState(undefined);
+ const [videoSrc, setVideoSrc] = React.useState(undefined);
+ 
+ const updateFiles = (incommingFiles) => {
+   console.log("incomming files", incommingFiles);
+   setExtFiles(incommingFiles);
+ };
+ const onDelete = (id) => {
+   setExtFiles(extFiles.filter((x) => x.id !== id));
+ };
+ const handleSee = (imageSource) => {
+   setImageSrc(imageSource);
+ };
+ const handleWatch = (videoSource) => {
+   setVideoSrc(videoSource);
+ };
+ const handleStart = (filesToUpload) => {
+   console.log("advanced demo start upload", filesToUpload);
+ };
+ const handleFinish = (uploadedFiles) => {
+   console.log("advanced demo finish upload", uploadedFiles);
+ };
+ const handleAbort = (id) => {
+   setExtFiles(
+     extFiles.map((ef) => {
+       if (ef.id === id) {
+         return { ...ef, uploadStatus: "aborted" };
+       } else return { ...ef };
+     })
+   );
+ };
+ const handleCancel = (id) => {
+   setExtFiles(
+     extFiles.map((ef) => {
+       if (ef.id === id) {
+         return { ...ef, uploadStatus: undefined };
+       } else return { ...ef };
+     })
+   );
+ };
+ return (
+   <>
+     <Dropzone
+       onChange={updateFiles}
+       minHeight="195px"
+       value={extFiles}
+       maxFiles={3}
+       // FmaxFileSize={2998000 * 20}
+       label="Drag'n drop files here or click to browse"
+       // accept=".png,image/*, video/*"
+       uploadConfig={{
+         // autoUpload: true
+         url: BASE_URL + "/file/28048465460",
+         cleanOnUpload: true,
+      }}
+       onUploadStart={handleStart}
+       onUploadFinish={handleFinish}
+       //fakeUpload
+       actionButtons={{
+         position: "after",
+         abortButton: {},
+         deleteButton: {},
+         uploadButton: {},
+      }}
+     >
+       {extFiles.map((file) => (
+         <FileMosaic
+           {...file}
+           key={file.id}
+           onDelete={onDelete}
+           onSee={handleSee}
+           onWatch={handleWatch}
+           onAbort={handleAbort}
+           onCancel={handleCancel}
+           resultOnTooltip
+           alwaysActive
+           preview
+           info
+         />
+       ))}
+     </Dropzone>
+     <FullScreen
+       open={imageSrc !== undefined}
+       onClose={() => setImageSrc(undefined)}
+     >
+       <ImagePreview src={imageSrc} />
+     </FullScreen>
+     <FullScreen
+       open={videoSrc !== undefined}
+       onClose={() => setVideoSrc(undefined)}
+     >
+       <VideoPreview src={videoSrc} autoPlay controls />
+     </FullScreen>
+   </>
+ );
 }`;
 
-const completeCodeTS = completeCodeJS;
+const completeCodeTS = `import {
+  Dropzone,
+  ExtFile,
+  FileMosaic,
+  FileMosaicProps,
+  FullScreen,
+  ImagePreview,
+  VideoPreview,
+ } from "@files-ui/react";
+
+ const BASE_URL =
+ "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503";
+
+export default function AdvancedDropzoneDemo() {
+ const [extFiles, setExtFiles] = React.useState<ExtFile[]>([]);
+ const [imageSrc, setImageSrc] = React.useState<File | string | undefined>(
+   undefined
+ );
+ const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>(
+   undefined
+ );
+ const updateFiles = (incommingFiles: ExtFile[]) => {
+   console.log("incomming files", incommingFiles);
+   setExtFiles(incommingFiles);
+ };
+ const onDelete = (id: FileMosaicProps["id"]) => {
+   setExtFiles(extFiles.filter((x) => x.id !== id));
+ };
+ const handleSee = (imageSource: File | string | undefined) => {
+   setImageSrc(imageSource);
+ };
+ const handleWatch = (videoSource: File | string | undefined) => {
+   setVideoSrc(videoSource);
+ };
+ const handleStart = (filesToUpload: ExtFile[]) => {
+   console.log("advanced demo start upload", filesToUpload);
+ };
+ const handleFinish = (uploadedFiles: ExtFile[]) => {
+   console.log("advanced demo finish upload", uploadedFiles);
+ };
+ const handleAbort = (id: FileMosaicProps["id"]) => {
+   setExtFiles(
+     extFiles.map((ef) => {
+       if (ef.id === id) {
+         return { ...ef, uploadStatus: "aborted" };
+       } else return { ...ef };
+     })
+   );
+ };
+ const handleCancel = (id: FileMosaicProps["id"]) => {
+   setExtFiles(
+     extFiles.map((ef) => {
+       if (ef.id === id) {
+         return { ...ef, uploadStatus: undefined };
+       } else return { ...ef };
+     })
+   );
+ };
+ return (
+   <>
+     <Dropzone
+       onChange={updateFiles}
+       minHeight="195px"
+       value={extFiles}
+       maxFiles={3}
+       // FmaxFileSize={2998000 * 20}
+       label="Drag'n drop files here or click to browse"
+       // accept=".png,image/*, video/*"
+       uploadConfig={{
+         // autoUpload: true
+         url: BASE_URL + "/file/28048465460",
+         cleanOnUpload: true,
+      }}
+       onUploadStart={handleStart}
+       onUploadFinish={handleFinish}
+       //fakeUpload
+       actionButtons={{
+         position: "after",
+         abortButton: {},
+         deleteButton: {},
+         uploadButton: {},
+      }}
+     >
+       {extFiles.map((file) => (
+         <FileMosaic
+           {...file}
+           key={file.id}
+           onDelete={onDelete}
+           onSee={handleSee}
+           onWatch={handleWatch}
+           onAbort={handleAbort}
+           onCancel={handleCancel}
+           resultOnTooltip
+           alwaysActive
+           preview
+           info
+         />
+       ))}
+     </Dropzone>
+     <FullScreen
+       open={imageSrc !== undefined}
+       onClose={() => setImageSrc(undefined)}
+     >
+       <ImagePreview src={imageSrc} />
+     </FullScreen>
+     <FullScreen
+       open={videoSrc !== undefined}
+       onClose={() => setVideoSrc(undefined)}
+     >
+       <VideoPreview src={videoSrc} autoPlay controls />
+     </FullScreen>
+   </>
+ );
+}`;
 const splittedCodeTS = splittedCodeJS;
diff --git a/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.jsx b/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.jsx
deleted file mode 100644
index 371fd2faa7e1ff12afc5e550c6dec5a5fce9585d..0000000000000000000000000000000000000000
--- a/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.jsx
+++ /dev/null
@@ -1,152 +0,0 @@
-import * as React from "react";
-import {
-  Dropzone,
-  ExtFileInstance,
-  FileMosaic,
-  FullScreen,
-  ImagePreview,
-  VideoPreview,
-} from "../../../files-ui";
-import { useEffect, useState } from "react";
-import axios from "axios";
-const REMOTE =
-  "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503";
-//const LOCAL = "http://localhost/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503";
-export default function AdvancedDropzoneDemo() {
-  const [extFiles, setExtFiles] = useState([]);
-
-  const [imageSrc, setImageSrc] = React.useState(undefined);
-  const [videoSrc, setVideoSrc] = React.useState(undefined);
-
-  const updateFiles = (incommingFiles) => {
-    console.log(
-      "incomming extFiles outside",
-      incommingFiles.map((x) => x.uploadStatus)
-    );
-
-    const arrExtFIleInstances = incommingFiles.map(
-      (extFile) => new ExtFileInstance(extFile)
-    );
-
-    console.log("incomming arrExtFIleInstances", arrExtFIleInstances);
-    /*   const listExtFileObjects = arrExtFIleInstances.map((extFileInstance) =>
-      extFileInstance.toExtFile()
-    );
-   
-    console.log("incomming listExtFileObjects", listExtFileObjects); */
-
-    setExtFiles(incommingFiles);
-  };
-  const onDelete = (id) => {
-    setExtFiles(extFiles.filter((x) => x.id !== id));
-  };
-  const handleSee = (imageSource) => {
-    setImageSrc(imageSource);
-  };
-
-  const handleStart = (res) => {
-    console.log("advanced demo start upload", res);
-  };
-  const handleFinish = (res) => {
-    console.log("advanced demo finish upload", res);
-  };
-  const handleWatch = (videoSource) => {
-    console.log(
-      "handleWatch videoSource",
-      "https://files-ui-temp-storage.s3.amazonaws.com/2029385a4ed32ff10beeb94c0585e8ac1a8c377c68d22ef25ce5863694a5499e.mp4"
-    );
-    //setVideoSrc(videoSource);
-    //
-    setVideoSrc(videoSource);
-    // setVideoSrc("https://www.w3schools.com/tags/movie.mp4");
-  };
-
-  useEffect(() => {
-    checkFiles();
-  }, []);
-  async function checkFiles() {
-    try {
-      const res = await axios.get(REMOTE + "/file");
-      console.log("checkFiles", res);
-    } catch (error) {
-      console.log("checkFiles error", error);
-    }
-  }
-  const handleAbort = (id) => {
-    // alert(id);
-    setExtFiles(
-      extFiles.map((ef) => {
-        if (ef.id === id) {
-          return { ...ef, uploadStatus: "aborted" };
-        } else return { ...ef };
-      })
-    );
-  };
-  const handleCancel = (id) => {
-    // alert(id);
-    setExtFiles(
-      extFiles.map((ef) => {
-        if (ef.id === id) {
-          return { ...ef, uploadStatus: undefined };
-        } else return { ...ef };
-      })
-    );
-  };
-  return (
-    <>
-      <Dropzone
-        onChange={updateFiles}
-        minHeight="195px"
-        value={extFiles}
-        maxFiles={3}
-        /*maxFileSize={2998000 * 20} */
-        label="Drag'n drop files here or click to browse"
-        // accept=".png,image/*, video/*"
-        uploadConfig={{
-          /* autoUpload: true */
-          method: "POST",
-          url: REMOTE + "/file/28048465460",
-          cleanOnUpload: true,
-        }}
-        onUploadStart={handleStart}
-        onUploadFinish={handleFinish}
-        //fakeUpload
-        actionButtons={{
-          position: "after",
-          abortButton: {},
-          deleteButton: {},
-          uploadButton: {},
-        }}
-      >
-        {extFiles.map((file) => (
-            <FileMosaic
-              {...file}
-              key={file.id}
-              onDelete={onDelete}
-              onSee={handleSee}
-              onWatch={handleWatch}
-              onAbort={handleAbort}
-              onCancel={handleCancel}
-              resultOnTooltip
-              alwaysActive
-              preview
-              info
-              hd
-            />
-          ))}
-      </Dropzone>
-      <FullScreen
-        open={imageSrc !== undefined}
-        onClose={() => setImageSrc(undefined)}
-      >
-        <ImagePreview src={imageSrc} />
-      </FullScreen>
-      <FullScreen
-        open={videoSrc !== undefined}
-        onClose={() => setVideoSrc(undefined)}
-      >
-        <VideoPreview videoSrc={videoSrc} autoPlay controls />
-      </FullScreen>
-    </>
-  );
-}
diff --git a/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.tsx b/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..fd943f6049c2c2726f1870a46cca19120ad85a09
--- /dev/null
+++ b/src/components/demo-components/dropzone-demo/AdvancedDropzoneDemo.tsx
@@ -0,0 +1,115 @@
+import * as React from "react";
+import {
+  Dropzone,
+  ExtFile,
+  FileMosaic,
+  FileMosaicProps,
+  FullScreen,
+  ImagePreview,
+  VideoPreview,
+} from "../../../files-ui";
+
+const BASE_URL =
+  "https://files-ui-express-static-file-storage.vercel.app/39d33dff2d41b522c1ea276c4b82507f96b9699493d2e7b3f5c864ba743d9503";
+
+export default function AdvancedDropzoneDemo() {
+  const [extFiles, setExtFiles] = React.useState<ExtFile[]>([]);
+  const [imageSrc, setImageSrc] = React.useState<File | string | undefined>(
+    undefined
+  );
+  const [videoSrc, setVideoSrc] = React.useState<File | string | undefined>(
+    undefined
+  );
+  const updateFiles = (incommingFiles: ExtFile[]) => {
+    console.log("incomming files", incommingFiles);
+    setExtFiles(incommingFiles);
+  };
+  const onDelete = (id: FileMosaicProps["id"]) => {
+    setExtFiles(extFiles.filter((x) => x.id !== id));
+  };
+  const handleSee = (imageSource: File | string | undefined) => {
+    setImageSrc(imageSource);
+  };
+  const handleWatch = (videoSource: File | string | undefined) => {
+    setVideoSrc(videoSource);
+  };
+  const handleStart = (filesToUpload: ExtFile[]) => {
+    console.log("advanced demo start upload", filesToUpload);
+  };
+  const handleFinish = (uploadedFiles: ExtFile[]) => {
+    console.log("advanced demo finish upload", uploadedFiles);
+  };
+  const handleAbort = (id: FileMosaicProps["id"]) => {
+    setExtFiles(
+      extFiles.map((ef) => {
+        if (ef.id === id) {
+          return { ...ef, uploadStatus: "aborted" };
+        } else return { ...ef };
+      })
+    );
+  };
+  const handleCancel = (id: FileMosaicProps["id"]) => {
+    setExtFiles(
+      extFiles.map((ef) => {
+        if (ef.id === id) {
+          return { ...ef, uploadStatus: undefined };
+        } else return { ...ef };
+      })
+    );
+  };
+  return (
+    <>
+      <Dropzone
+        onChange={updateFiles}
+        minHeight="195px"
+        value={extFiles}
+        maxFiles={3}
+        // FmaxFileSize={2998000 * 20}
+        label="Drag'n drop files here or click to browse"
+        // accept=".png,image/*, video/*"
+        uploadConfig={{
+          // autoUpload: true
+          url: BASE_URL + "/file/28048465460",
+          cleanOnUpload: true,
+        }}
+        onUploadStart={handleStart}
+        onUploadFinish={handleFinish}
+        //fakeUpload
+        actionButtons={{
+          position: "after",
+          abortButton: {},
+          deleteButton: {},
+          uploadButton: {},
+        }}
+      >
+        {extFiles.map((file) => (
+          <FileMosaic
+            {...file}
+            key={file.id}
+            onDelete={onDelete}
+            onSee={handleSee}
+            onWatch={handleWatch}
+            onAbort={handleAbort}
+            onCancel={handleCancel}
+            resultOnTooltip
+            alwaysActive
+            preview
+            info
+          />
+        ))}
+      </Dropzone>
+      <FullScreen
+        open={imageSrc !== undefined}
+        onClose={() => setImageSrc(undefined)}
+      >
+        <ImagePreview src={imageSrc} />
+      </FullScreen>
+      <FullScreen
+        open={videoSrc !== undefined}
+        onClose={() => setVideoSrc(undefined)}
+      >
+        <VideoPreview src={videoSrc} autoPlay controls />
+      </FullScreen>
+    </>
+  );
+}
diff --git a/src/components/demo-components/main-page/DropzoneMainPage.jsx b/src/components/demo-components/main-page/DropzoneMainPage.jsx
index adde2c95212aee8dea73e07d37ce0a4a7f923aeb..0f2bc431e3cf681af46b2e7e8c34807186616f9a 100644
--- a/src/components/demo-components/main-page/DropzoneMainPage.jsx
+++ b/src/components/demo-components/main-page/DropzoneMainPage.jsx
@@ -46,24 +46,23 @@ const DropzoneMainPage = ({ darkMode = false }) => {
         accept=".jpg, .png, application/json, video/*, .pdf"
         fakeUpload
         behaviour="add"
-        uploadConfig={{ autoUpload: true , url:"fdbd"}}
+        uploadConfig={{ autoUpload: true, url: "fdbd" }}
       >
-        {files.length > 0 &&
-          files.map((file) => (
-            <FileMosaic
-              darkMode={darkMode}
-              {...file}
-              preview
-              onDelete={removeFile}
-              key={file.id}
-              info
-              alwaysActive
-              hd
-              onSee={handleSee}
-              resultOnTooltip
-              //uploadMessage="llalalal"
-            />
-          ))}
+        {files.map((file) => (
+          <FileMosaic
+            darkMode={darkMode}
+            {...file}
+            preview
+            onDelete={removeFile}
+            key={file.id}
+            info
+            alwaysActive
+            hd
+            onSee={handleSee}
+            resultOnTooltip
+            //uploadMessage="llalalal"
+          />
+        ))}
       </Dropzone>
 
       <DescParagraph margin="10px 0" darkMode={darkMode}>