diff --git a/src/components/MainMenu/MainMenuSideBar.tsx b/src/components/MainMenu/MainMenuSideBar.tsx
index 4ee5aa2db96af1d6d98e76b9268cf23eb69c1b06..77a26eca4a0af398e68dac4f45c15442d66153c3 100644
--- a/src/components/MainMenu/MainMenuSideBar.tsx
+++ b/src/components/MainMenu/MainMenuSideBar.tsx
@@ -10,6 +10,9 @@ import { MainMenuSideBarItems, MainMenuSideBarProps } from "./MenuSideBarProps";
 import ElectricBoltIcon from "@mui/icons-material/ElectricBolt";
 import { useNavigateToTop } from "../../hooks/useNavigateToTop";
 
+import ExpandLess from "@mui/icons-material/ExpandLess";
+import ExpandMore from "@mui/icons-material/ExpandMore";
+
 export default function MainMenuSideBar(props: MainMenuSideBarProps) {
   const { /* items, */ selectedIndex /* setSelectedIndex */ } = props;
   const navigate = useNavigateToTop();
@@ -64,7 +67,6 @@ export default function MainMenuSideBar(props: MainMenuSideBarProps) {
           index: 26,
           onClick: () => navigate("/components/fullscreen"),
         },
-       
       ],
     },
     {
@@ -126,43 +128,31 @@ export default function MainMenuSideBar(props: MainMenuSideBarProps) {
       index: 5,
       onClick: () => navigate("/localization"),
     },
+    /* {
+      label: "Code Generator",
+      index: 7,
+      onClick: () => navigate("/code-generator"),
+    }, */
+    {
+      label: "Types",
+      index: 7,
+      onClick: () => navigate("/types"),
+    },
     {
       label: "Server side",
       index: 6,
       onClick: () => navigate("/server-side"),
     },
     {
-      label: "Code Generator",
-      index: 7,
-      onClick: () => navigate("/code-generator"),
-    },
-    {
-      label: "Types",
+      label: "File readers",
       index: 8,
-      onClick: () => navigate("/types"),
+      onClick: () => navigate("/file-reader"),
     },
+
     {
-      label: "Utilities Methods",
+      label: "File download",
       index: 9,
-      subMenu: [
-        {
-          label: "File readers",
-          index: 81,
-          onClick: () => navigate("/utilities-methods/file-reader"),
-        },
-
-        {
-          label: "File uploader",
-          index: 82,
-          onClick: () => navigate("/utilities-methods/file-uploader"),
-        },
-
-        {
-          label: "File download",
-          index: 83,
-          onClick: () => navigate("/utilities-methods/file-downloader"),
-        },
-      ],
+      onClick: () => navigate("/file-download"),
     },
   ];
 
@@ -175,6 +165,7 @@ export default function MainMenuSideBar(props: MainMenuSideBarProps) {
     })
   );
 
+
   /*   const handleClick = () => {
     //setOpen(!open);
   }; */
@@ -195,11 +186,24 @@ export default function MainMenuSideBar(props: MainMenuSideBarProps) {
     withSubMenu?: boolean
   ) => {
     //setSelectedIndex(index);
+    console.log("newIndex",index, withSubMenu);
     if (!withSubMenu) {
       onClick?.();
     } else {
       setRegularItemsIni((arr) =>
         arr.map((item) => {
+      /*     if (item.subMenu) {
+            const newSubMenu = item.subMenu.map((x) => {
+              if (x.index === index) {
+                return { ...x , };
+              } else {
+                return { ...x };
+              }
+            });
+            return { ...item, subMenu: newSubMenu };
+          } else */
+          
+         
           if (item.index === index) {
             return { ...item, isOpen: !item.isOpen };
           }
@@ -300,7 +304,9 @@ export default function MainMenuSideBar(props: MainMenuSideBarProps) {
                   style={{ padding: "2px 20px" }}
                   key={indexBase}
                   // selected={subMenu === undefined && selectedIndex === index}
-                  selected={isOpen && selectedIndex === index}
+                  selected={
+                    (subMenu === undefined || isOpen) && selectedIndex === index
+                  }
                   onClick={(event) =>
                     handleListItemClick(
                       event,
@@ -321,6 +327,7 @@ export default function MainMenuSideBar(props: MainMenuSideBarProps) {
                     primary={label || ""}
                     primaryTypographyProps={{ fontWeight: "600" }}
                   />
+                  {subMenu && <>{isOpen ? <ExpandLess /> : <ExpandMore />}</>}
                 </ListItemButton>
 
                 {subMenu && (
@@ -336,6 +343,7 @@ export default function MainMenuSideBar(props: MainMenuSideBarProps) {
                           <ListItemButton
                             style={{ paddingTop: 0 }}
                             sx={{ pl: 4 }}
+                            //selected={selectedIndex === index}
                             selected={selectedIndex === index}
                             key={index2 + indexBase}
                             onClick={(event) =>
diff --git a/src/components/layout-pages/FooterPage.scss b/src/components/layout-pages/FooterPage.scss
new file mode 100644
index 0000000000000000000000000000000000000000..f20e45ba0a257ec5db8e02697894ac86162f89eb
--- /dev/null
+++ b/src/components/layout-pages/FooterPage.scss
@@ -0,0 +1,28 @@
+.fui-page-footer-container {
+  display: flex;
+  width: 100%;
+  align-items: center;
+  justify-content: space-between;
+  .redirect-container {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+  .like-icon-container {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+
+  @media (max-width: "960px") {
+    .redirect-container {
+      display: none;
+    }
+    .redirect-small-container {
+      display: flex;
+    }
+    .like-icon-container {
+      width: 100%;
+    }
+  }
+}
diff --git a/src/components/layout-pages/FooterPage.tsx b/src/components/layout-pages/FooterPage.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..80baaa503062423c8a8f553372101eccc9f36453
--- /dev/null
+++ b/src/components/layout-pages/FooterPage.tsx
@@ -0,0 +1,67 @@
+import { Button, Divider } from "@mui/material";
+import * as React from "react";
+import KeyboardArrowLeftIcon from "@mui/icons-material/KeyboardArrowLeft";
+import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
+import { useNavigate } from "react-router";
+import "./FooterPage.scss";
+
+interface FooterPageProps {
+  labelBefore?: string;
+  labelAfter?: string;
+  linkBefore?: string;
+  linkAfter?: string;
+  page: string;
+}
+const FooterPage: React.FC<FooterPageProps> = (props: FooterPageProps) => {
+  const { labelAfter, labelBefore, linkAfter, linkBefore, page } = props;
+  const redirect = useNavigate();
+  return (
+    <footer>
+      <Divider style={{ width: "100%" }}></Divider>
+      <div className="fui-page-footer-container">
+        <div className="redirect-small-container">
+          {labelBefore && (
+            <Button
+              startIcon={<KeyboardArrowLeftIcon />}
+              onClick={linkBefore ? () => redirect(linkBefore) : undefined}
+            >
+              {labelBefore}
+            </Button>
+          )}
+          {labelAfter && (
+            <Button
+              endIcon={<KeyboardArrowRightIcon />}
+              onClick={labelAfter ? () => redirect(labelAfter) : undefined}
+            >
+              {labelAfter}
+            </Button>
+          )}
+        </div>
+
+        <div className="redirect-container">
+          {labelBefore && (
+            <Button
+              startIcon={<KeyboardArrowLeftIcon />}
+              onClick={linkBefore ? () => redirect(linkBefore) : undefined}
+            >
+              {labelBefore}
+            </Button>
+          )}
+        </div>
+
+        <div className="like-icon-container">like icons</div>
+        <div className="redirect-container">
+          {labelAfter && (
+            <Button
+              endIcon={<KeyboardArrowRightIcon />}
+              onClick={linkAfter ? () => redirect(linkAfter) : undefined}
+            >
+              {labelAfter}
+            </Button>
+          )}
+        </div>
+      </div>
+    </footer>
+  );
+};
+export default FooterPage;
diff --git a/src/components/layout-pages/MainContentContainer.jsx b/src/components/layout-pages/MainContentContainer.jsx
index eb002ad343a70f3e0a016b357fab44143fefb541..3d54657ec59e79cf903cf8fccf8963a5e7cb411b 100644
--- a/src/components/layout-pages/MainContentContainer.jsx
+++ b/src/components/layout-pages/MainContentContainer.jsx
@@ -22,6 +22,7 @@ const MainContentContainer = ({ children }) => {
         }}
       >
         {children}
+        
       </Box>
     </Box>
   );
diff --git a/src/pages/download-page/FileDownloadPage.jsx b/src/pages/download-page/FileDownloadPage.jsx
index 4e4690fbc14b77e0dec4ee24871b43edfa1addcf..d58b9999ac90e93923fb4ef1176c02b3134e49e8 100644
--- a/src/pages/download-page/FileDownloadPage.jsx
+++ b/src/pages/download-page/FileDownloadPage.jsx
@@ -1,10 +1,42 @@
 import * as React from "react";
+import MainContentContainer from "../../components/layout-pages/MainContentContainer";
+import MainLayoutPage from "../../components/layout-pages/MainLayoutPage";
+import RightMenuContainer from "../../components/layout-pages/RightMenuContainer";
+import MainTitle from "../../components/main-title/MainTitle";
+import MainParagraph from "../../components/paragraph-main/MainParagraph";
+import RightMenu from "../../components/RightMenu/RightMenu";
 
-const FileDownloadPage = props =>{
-    return(
-        <div>
-        FileDownloadPage
-        </div>
-    )
-}
-export default FileDownloadPage;
\ No newline at end of file
+const FileDownloadPage = (props) => {
+  return (
+    <React.Fragment>
+      <MainLayoutPage selectedIndex={9}>
+        <MainContentContainer>
+          <MainTitle>File Download</MainTitle>
+          <MainParagraph>
+            API reference docs for all the important types related to files UI
+            components.
+          </MainParagraph>
+        </MainContentContainer>
+      </MainLayoutPage>
+
+      <RightMenuContainer>
+        <RightMenu width="240px" items={rightMenuItems} />
+      </RightMenuContainer>
+    </React.Fragment>
+  );
+};
+export default FileDownloadPage;
+
+const rightMenuItems = [
+  {
+    id: 0,
+    label: "From Same host",
+    referTo: "/types#extfile",
+  },
+  {
+    id: 1,
+    label: "From Another host",
+    referTo: "/types#validatefileresponse",
+  },
+  
+];
diff --git a/src/pages/server-side/ServerSidePage.jsx b/src/pages/server-side/ServerSidePage.jsx
deleted file mode 100644
index 8bf6b93be532de14349ed25e21586567c135768f..0000000000000000000000000000000000000000
--- a/src/pages/server-side/ServerSidePage.jsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import * as React from "react";
-import MainContentContainer from "../../components/layout-pages/MainContentContainer";
-import MainLayoutPage from "../../components/layout-pages/MainLayoutPage";
-import RightMenuContainer from "../../components/layout-pages/RightMenuContainer";
-import MainTitle from "../../components/main-title/MainTitle";
-import RightMenu from "../../components/RightMenu/RightMenu";
-
-const ServerSidePage = (props) => {
-  return (
-    <React.Fragment>
-      <MainLayoutPage selectedIndex={4}>
-        <MainContentContainer>
-          <MainTitle>Server Side implementatios</MainTitle>
-        </MainContentContainer>{" "}
-        <RightMenuContainer>
-          <RightMenu width="240px" items={[]} />
-        </RightMenuContainer>
-      </MainLayoutPage>
-    </React.Fragment>
-  );
-};
-export default ServerSidePage;
diff --git a/src/pages/server-side/ServerSidePage.tsx b/src/pages/server-side/ServerSidePage.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..251cbfa1ddae2348578b90014953200ed9c872f2
--- /dev/null
+++ b/src/pages/server-side/ServerSidePage.tsx
@@ -0,0 +1,69 @@
+import * as React from "react";
+import DescParagraph from "../../components/demo-components/desc-paragraph/DescParagraph";
+import SubTitle from "../../components/demo-components/sub-title/SubTitle";
+import MainContentContainer from "../../components/layout-pages/MainContentContainer";
+import MainLayoutPage from "../../components/layout-pages/MainLayoutPage";
+import RightMenuContainer from "../../components/layout-pages/RightMenuContainer";
+import MainTitle from "../../components/main-title/MainTitle";
+import MainParagraph from "../../components/paragraph-main/MainParagraph";
+import RightMenu from "../../components/RightMenu/RightMenu";
+import AnchorToTab from "../../components/util-components/AnchorToTab";
+
+const ServerSidePage = () => {
+  return (
+    <React.Fragment>
+      <MainLayoutPage selectedIndex={6}>
+        <MainContentContainer>
+          <MainTitle>Server Side implementations</MainTitle>
+          <MainParagraph>
+            Some implementations for handling correctly the uploaded files using
+            Files UI.
+          </MainParagraph>
+          <DescParagraph>
+            If you think there should be added more of them or you want to add
+            your own in any other programming language, please contact us.
+          </DescParagraph>
+          <section id="expressjs">
+            <SubTitle content="Express JS" />
+            <DescParagraph>
+              The following code is just the main part of a project. Check it up
+              in the following{" "}
+              <AnchorToTab href="https://github.com/files-ui/files-ui-web-test/tree/master/expressjs">
+                here
+              </AnchorToTab>
+              .
+            </DescParagraph>
+          </section>
+          <section id="springboot">
+            <SubTitle content="Java - Spring boot" />{" "}
+            <DescParagraph>
+              The following code is just the main part of a project. Check it up
+              in the following{" "}
+              <AnchorToTab href="https://github.com/files-ui/files-ui-web-test/tree/master/springboot">
+                here
+              </AnchorToTab>
+              .
+            </DescParagraph>
+          </section>
+        </MainContentContainer>
+        <RightMenuContainer>
+          <RightMenu width="240px" items={rightMenuItems} />
+        </RightMenuContainer>
+      </MainLayoutPage>
+    </React.Fragment>
+  );
+};
+export default ServerSidePage;
+
+const rightMenuItems = [
+  {
+    id: 0,
+    label: "ExpressJS",
+    referTo: "/server-side#expressjs",
+  },
+  {
+    id: 1,
+    label: "Spring Boot (Java)",
+    referTo: "/server-side#springboot",
+  },
+];
diff --git a/src/pages/types-page/TypesPage.jsx b/src/pages/types-page/TypesPage.jsx
index f2ace171a1085dd7b886be7c3ca817d82e0615a7..9f9f73223059d23d218cd803621b99c8c6da06b3 100644
--- a/src/pages/types-page/TypesPage.jsx
+++ b/src/pages/types-page/TypesPage.jsx
@@ -70,7 +70,7 @@ const rightMenuItems = [
 const TypesPage = (props) => {
   return (
     <React.Fragment>
-      <MainLayoutPage selectedIndex={6}>
+      <MainLayoutPage selectedIndex={7}>
         <MainContentContainer>
           <MainTitle>Types</MainTitle>
           <MainParagraph>
diff --git a/src/pages/utilities/FileReaderPage.tsx b/src/pages/utilities/FileReaderPage.tsx
index a97127e1ae098885cadc7dec2c8012ebb3860905..7c6d87faa919f2c7d3f55298e102c1bceda5b1a9 100644
--- a/src/pages/utilities/FileReaderPage.tsx
+++ b/src/pages/utilities/FileReaderPage.tsx
@@ -1,5 +1,6 @@
 import * as React from "react";
 import MainContentContainer from "../../components/layout-pages/MainContentContainer";
+import MainLayoutPage from "../../components/layout-pages/MainLayoutPage";
 import RightMenuContainer from "../../components/layout-pages/RightMenuContainer";
 import MainTitle from "../../components/main-title/MainTitle";
 import RightMenu from "../../components/RightMenu/RightMenu";
@@ -18,9 +19,12 @@ const FileReaderPage: React.FC<FileReaderPageProps> = (
 ) => {
   return (
     <React.Fragment>
-      <MainContentContainer>
+      <MainLayoutPage selectedIndex={8}>
+         <MainContentContainer>
         <MainTitle>File Reader</MainTitle>
       </MainContentContainer>
+      </MainLayoutPage>
+     
 
       <RightMenuContainer>
         <RightMenu width="240px" items={rightMenuItems} />
diff --git a/src/pages/utilities/FileUploaderPage.tsx b/src/pages/utilities/FileUploaderPage.tsx
index 43b2af58ec62b9b78bcc5e3cffcf29021860360a..be02427c0ce4c09549eb7955d240d2c4187cd637 100644
--- a/src/pages/utilities/FileUploaderPage.tsx
+++ b/src/pages/utilities/FileUploaderPage.tsx
@@ -1,5 +1,6 @@
 import * as React from "react";
 import MainContentContainer from "../../components/layout-pages/MainContentContainer";
+import MainLayoutPage from "../../components/layout-pages/MainLayoutPage";
 import RightMenuContainer from "../../components/layout-pages/RightMenuContainer";
 import MainTitle from "../../components/main-title/MainTitle";
 import RightMenu from "../../components/RightMenu/RightMenu";
@@ -7,8 +8,13 @@ import RightMenu from "../../components/RightMenu/RightMenu";
 const rightMenuItems = [
   {
     id: 0,
+    label: "Upload to server",
+    referTo: "/file-upload/#uploadtoaws",
+  },
+  {
+    id: 1,
     label: "Upload to AWS",
-    referTo: "/utilities-methods/file-reader/#read-as-url",
+    referTo: "/file-upload/#uploadtoaws",
   },
 ];
 
@@ -18,9 +24,11 @@ const FileUploaderPage: React.FC<FileUploaderPageProps> = (
 ) => {
   return (
     <React.Fragment>
-      <MainContentContainer>
-        <MainTitle>File Upoad</MainTitle>
-      </MainContentContainer>
+      <MainLayoutPage selectedIndex={8}>
+        <MainContentContainer>
+          <MainTitle>File Upload</MainTitle>
+        </MainContentContainer>
+      </MainLayoutPage>
 
       <RightMenuContainer>
         <RightMenu width="240px" items={rightMenuItems} />
diff --git a/src/routes/MainRouter.jsx b/src/routes/MainRouter.jsx
index 0de4a540464155f78ddcc73ce43891eacc10709d..ecc323b2c87a2721516a5e863cf5746ba0a7cc86 100644
--- a/src/routes/MainRouter.jsx
+++ b/src/routes/MainRouter.jsx
@@ -6,7 +6,7 @@ import DropzoneDemoPage from "./../pages/demo/DropzoneDemoPage";
 import FileMosaicDemoPage from "./../pages/demo/FileMosaicDemoPage";
 import FileCardDemoPage from "./../pages/demo/FileCardDemoPage";
 import ServerSidePage from "./../pages/server-side/ServerSidePage";
-import CodeGeneratorPage from "./../pages/code-generator/CodeGeneratorPage";
+//import CodeGeneratorPage from "./../pages/code-generator/CodeGeneratorPage";
 import DropzoneApi from "./../pages/api/DropzoneApi";
 import FileMosaicApi from "./../pages/api/FileMosaicApi";
 import FileCardApi from "./../pages/api/FileCardApi";
@@ -15,7 +15,7 @@ import TypesPage from "./../pages/types-page/TypesPage";
 import { createBrowserRouter, Outlet, RouterProvider } from "react-router-dom";
 import MainLayoutPage from "../components/layout-pages/MainLayoutPage";
 import FileReaderPage from "../pages/utilities/FileReaderPage";
-import FileUploaderPage from "../pages/utilities/FileUploaderPage";
+//import FileUploaderPage from "../pages/utilities/FileUploaderPage";
 import AvatarDemoPage from "../pages/demo/AvatarDemoPage";
 import FileInputButtonApi from "../pages/api/FileInputButtonApi";
 import AvatarApi from "../pages/api/AvatarApi";
@@ -134,37 +134,28 @@ const router = createBrowserRouter([
     path: "/server-side",
     element: <ServerSidePage />,
   },
-  {
+/*   {
     path: "/code-generator",
     element: <CodeGeneratorPage />,
-  },
+  }, */
   {
     path: "/types",
     element: <TypesPage />,
   },
-
   {
-    path: "/utilities-methods",
-    element: (
-      <MainLayoutPage selectedIndex={7}>
-        <Outlet />
-      </MainLayoutPage>
-    ),
-    children: [
-      {
-        path: "/utilities-methods/file-reader",
-        element: <FileReaderPage />,
-      },
-      {
-        path: "/utilities-methods/file-uploader",
-        element: <FileUploaderPage />,
-      },
-      {
-        path: "/utilities-methods/file-downloader",
-        element: <FileDownloadPage />,
-      },
-    ],
+    path: "/file-reader",
+    element: <FileReaderPage />,
+  },
+  {
+    path: "/file-download",
+    element: <FileDownloadPage />,
   },
+  ///
+/*   {
+    path: "/file-upload",
+    element: <FileUploaderPage />,
+  }, */
+
 ]);
 
 const MainRouter = (props) => {
diff --git a/src/types/PageProps.ts b/src/types/PageProps.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8fac0f2eaed7d43f2efa6ad80c1557266bcf625d
--- /dev/null
+++ b/src/types/PageProps.ts
@@ -0,0 +1,32 @@
+export type PageList =
+    "Getting Started" |
+    "Usage" |
+    "Dropzone Demo" |
+    "FileMosaic Demo" |
+    "FileCard Demo" |
+    "FileInputButton Demo" |
+    "FullScreen Demo" |
+    "Avatar Demo" |
+    "Dropzone Api" |
+    "FileMosaic Api" |
+    "FileCard Api" |
+    "FileInputButton Api" |
+    "FullScreen Api" |
+    "Avatar Api" |
+    "ImagePreview Api" |
+    "VideoPreview Api" |
+    "File Icons" |
+    "Localization" |
+    "Server Side" |
+    "Types" |
+    "File Reders" |
+    "File Upload" |
+    "File Download"
+    ;
+
+export type PageProps = {
+    pageBefore: PageProps;
+    pageAfter: PageProps;
+    url?: string;
+    key: PageList;
+}
\ No newline at end of file