diff --git a/.DS_Store b/.DS_Store
index 9ea2b9ba490274d67fb1a59bccb330f32cb1c5df..b06ad1790e938afa9c0ddeed3f17c1ab716125f2 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/MiniScanner.xcodeproj/project.pbxproj b/MiniScanner.xcodeproj/project.pbxproj
index d273ba80f6430b918b907dd7d9215413a19f4b71..ccf61a76be8330985eab9eeaed97f820489d9a37 100644
--- a/MiniScanner.xcodeproj/project.pbxproj
+++ b/MiniScanner.xcodeproj/project.pbxproj
@@ -55,6 +55,17 @@
 		53014FBB2C11A8E80071CE39 /* CaptureSession+Orientation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8A2C11A8E80071CE39 /* CaptureSession+Orientation.swift */; };
 		53014FBC2C11A8E80071CE39 /* CaptureSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8B2C11A8E80071CE39 /* CaptureSession.swift */; };
 		53014FBD2C11A8E80071CE39 /* CaptureSession+Focus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53014F8C2C11A8E80071CE39 /* CaptureSession+Focus.swift */; };
+		53F21F8B2C1246AF00172BFC /* AllFolderTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */; };
+		53F21F8C2C1246AF00172BFC /* AllFolderTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */; };
+		53F21F912C1248EC00172BFC /* FolderCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */; };
+		53F21F922C1248EC00172BFC /* FolderCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F902C1248EC00172BFC /* FolderCollectionViewCell.xib */; };
+		53F21F9B2C1377B900172BFC /* Tajawal-ExtraBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */; };
+		53F21F9C2C1377B900172BFC /* Tajawal-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F952C1377B900172BFC /* Tajawal-Light.ttf */; };
+		53F21F9D2C1377B900172BFC /* Tajawal-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */; };
+		53F21F9E2C1377B900172BFC /* Tajawal-ExtraLight.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */; };
+		53F21F9F2C1377B900172BFC /* Tajawal-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */; };
+		53F21FA02C1377B900172BFC /* Tajawal-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */; };
+		53F21FA12C1377B900172BFC /* Tajawal-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */; };
 		EC0CF1FE254D8BBF00888722 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */; };
 		EC0CF200254D8BBF00888722 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */; };
 		EC0CF207254D8BC000888722 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EC0CF206254D8BC000888722 /* Assets.xcassets */; };
@@ -159,6 +170,17 @@
 		53014F8A2C11A8E80071CE39 /* CaptureSession+Orientation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CaptureSession+Orientation.swift"; sourceTree = "<group>"; };
 		53014F8B2C11A8E80071CE39 /* CaptureSession.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CaptureSession.swift; sourceTree = "<group>"; };
 		53014F8C2C11A8E80071CE39 /* CaptureSession+Focus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CaptureSession+Focus.swift"; sourceTree = "<group>"; };
+		53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllFolderTableViewCell.swift; sourceTree = "<group>"; };
+		53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AllFolderTableViewCell.xib; sourceTree = "<group>"; };
+		53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FolderCollectionViewCell.swift; sourceTree = "<group>"; };
+		53F21F902C1248EC00172BFC /* FolderCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FolderCollectionViewCell.xib; sourceTree = "<group>"; };
+		53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-ExtraBold.ttf"; sourceTree = "<group>"; };
+		53F21F952C1377B900172BFC /* Tajawal-Light.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Light.ttf"; sourceTree = "<group>"; };
+		53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Bold.ttf"; sourceTree = "<group>"; };
+		53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-ExtraLight.ttf"; sourceTree = "<group>"; };
+		53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Regular.ttf"; sourceTree = "<group>"; };
+		53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Medium.ttf"; sourceTree = "<group>"; };
+		53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Tajawal-Black.ttf"; sourceTree = "<group>"; };
 		EC0CF1FA254D8BBF00888722 /* MiniScanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MiniScanner.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
 		EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
@@ -207,7 +229,7 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
-		53014F4B2C11A8E80071CE39 /* WeScan */ = {
+		53014F4B2C11A8E80071CE39 /* CustomWeScan */ = {
 			isa = PBXGroup;
 			children = (
 				53014F4C2C11A8E80071CE39 /* Localizable.strings */,
@@ -222,7 +244,7 @@
 				53014F842C11A8E80071CE39 /* Protocols */,
 				53014F882C11A8E80071CE39 /* Session */,
 			);
-			path = WeScan;
+			path = CustomWeScan;
 			sourceTree = "<group>";
 		};
 		53014F522C11A8E80071CE39 /* Scan */ = {
@@ -334,6 +356,47 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
+		53F21F862C12468900172BFC /* CustomCells */ = {
+			isa = PBXGroup;
+			children = (
+				53F21F8D2C1248C400172BFC /* AllFolderTableViewCell */,
+			);
+			path = CustomCells;
+			sourceTree = "<group>";
+		};
+		53F21F8D2C1248C400172BFC /* AllFolderTableViewCell */ = {
+			isa = PBXGroup;
+			children = (
+				53F21F8E2C1248D200172BFC /* CustomCells */,
+				53F21F892C1246AF00172BFC /* AllFolderTableViewCell.swift */,
+				53F21F8A2C1246AF00172BFC /* AllFolderTableViewCell.xib */,
+			);
+			path = AllFolderTableViewCell;
+			sourceTree = "<group>";
+		};
+		53F21F8E2C1248D200172BFC /* CustomCells */ = {
+			isa = PBXGroup;
+			children = (
+				53F21F8F2C1248EC00172BFC /* FolderCollectionViewCell.swift */,
+				53F21F902C1248EC00172BFC /* FolderCollectionViewCell.xib */,
+			);
+			path = CustomCells;
+			sourceTree = "<group>";
+		};
+		53F21F932C1377B900172BFC /* Fonts */ = {
+			isa = PBXGroup;
+			children = (
+				53F21F942C1377B900172BFC /* Tajawal-ExtraBold.ttf */,
+				53F21F952C1377B900172BFC /* Tajawal-Light.ttf */,
+				53F21F962C1377B900172BFC /* Tajawal-Bold.ttf */,
+				53F21F972C1377B900172BFC /* Tajawal-ExtraLight.ttf */,
+				53F21F982C1377B900172BFC /* Tajawal-Regular.ttf */,
+				53F21F992C1377B900172BFC /* Tajawal-Medium.ttf */,
+				53F21F9A2C1377B900172BFC /* Tajawal-Black.ttf */,
+			);
+			path = Fonts;
+			sourceTree = "<group>";
+		};
 		EC0CF1F1254D8BBF00888722 = {
 			isa = PBXGroup;
 			children = (
@@ -386,6 +449,7 @@
 		EC8A9B06254DC2EE00F9AF99 /* Documents */ = {
 			isa = PBXGroup;
 			children = (
+				53F21F862C12468900172BFC /* CustomCells */,
 				EC8A9B1C254DCEC600F9AF99 /* File.swift */,
 				EC0CF217254D8DF200888722 /* Documents.storyboard */,
 				EC8A9B1F254DDC3400F9AF99 /* DocumentsTableViewCell.swift */,
@@ -422,7 +486,8 @@
 		EC8A9B0C254DC30800F9AF99 /* Supporting Files */ = {
 			isa = PBXGroup;
 			children = (
-				53014F4B2C11A8E80071CE39 /* WeScan */,
+				53F21F932C1377B900172BFC /* Fonts */,
+				53014F4B2C11A8E80071CE39 /* CustomWeScan */,
 				EC0CF206254D8BC000888722 /* Assets.xcassets */,
 				EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */,
 				EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */,
@@ -534,21 +599,30 @@
 				53014FAD2C11A8E80071CE39 /* rotate.png in Resources */,
 				53014FB02C11A8E80071CE39 /* flashUnavailable@2x.png in Resources */,
 				EC702543254E1E7500BE1958 /* WalkthroughViewController.xib in Resources */,
+				53F21FA12C1377B900172BFC /* Tajawal-Black.ttf in Resources */,
+				53F21F8C2C1246AF00172BFC /* AllFolderTableViewCell.xib in Resources */,
+				53F21FA02C1377B900172BFC /* Tajawal-Medium.ttf in Resources */,
 				53014FAC2C11A8E80071CE39 /* rotate@3x.png in Resources */,
 				EC0CF20A254D8BC000888722 /* LaunchScreen.storyboard in Resources */,
 				53014FAB2C11A8E80071CE39 /* flash.png in Resources */,
+				53F21F9B2C1377B900172BFC /* Tajawal-ExtraBold.ttf in Resources */,
 				EC0CF218254D8DF200888722 /* Documents.storyboard in Resources */,
+				53F21F9C2C1377B900172BFC /* Tajawal-Light.ttf in Resources */,
 				53014FB52C11A8E80071CE39 /* enhance@2x.png in Resources */,
 				53014FAE2C11A8E80071CE39 /* rotate@2x.png in Resources */,
 				53014FB32C11A8E80071CE39 /* flash@3x.png in Resources */,
+				53F21F9E2C1377B900172BFC /* Tajawal-ExtraLight.ttf in Resources */,
 				53014FB22C11A8E80071CE39 /* flashUnavailable@3x.png in Resources */,
 				53014FAF2C11A8E80071CE39 /* flash@2x.png in Resources */,
+				53F21F9F2C1377B900172BFC /* Tajawal-Regular.ttf in Resources */,
 				53014FB12C11A8E80071CE39 /* flashUnavailable.png in Resources */,
 				53014F8D2C11A8E80071CE39 /* Localizable.strings in Resources */,
 				EC702541254E1E7500BE1958 /* ClassicWalkthroughViewController.xib in Resources */,
+				53F21F922C1248EC00172BFC /* FolderCollectionViewCell.xib in Resources */,
 				ECA1FAA1254DEA6A0081F00B /* DocumentPreview.storyboard in Resources */,
 				53014FB62C11A8E80071CE39 /* enhance.png in Resources */,
 				53014FB42C11A8E80071CE39 /* enhance@3x.png in Resources */,
+				53F21F9D2C1377B900172BFC /* Tajawal-Bold.ttf in Resources */,
 				EC0CF207254D8BC000888722 /* Assets.xcassets in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -588,6 +662,7 @@
 				53014FA92C11A8E80071CE39 /* QuadrilateralView.swift in Sources */,
 				EC702546254E1E9E00BE1958 /* WalkthroughModel.swift in Sources */,
 				53014F912C11A8E80071CE39 /* ShutterButton.swift in Sources */,
+				53F21F8B2C1246AF00172BFC /* AllFolderTableViewCell.swift in Sources */,
 				53014FBD2C11A8E80071CE39 /* CaptureSession+Focus.swift in Sources */,
 				53014F982C11A8E80071CE39 /* URL+Utils.swift in Sources */,
 				EC8A9B00254DBFC700F9AF99 /* UserDefaults+Extensions.swift in Sources */,
@@ -619,6 +694,7 @@
 				53014F8E2C11A8E80071CE39 /* ImageScannerController.swift in Sources */,
 				EC70252B254E066400BE1958 /* SettingsTableViewCell.swift in Sources */,
 				EC8A9AD0254DB5A400F9AF99 /* AppTabBarController.swift in Sources */,
+				53F21F912C1248EC00172BFC /* FolderCollectionViewCell.swift in Sources */,
 				ECD43ED625A7BA9500B5A3F2 /* ThemeManager.swift in Sources */,
 				53014F9C2C11A8E80071CE39 /* CGRect+Utils.swift in Sources */,
 				53014FA12C11A8E80071CE39 /* MultiPageScanSessionViewController.swift in Sources */,
diff --git a/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/IDEFindNavigatorScopes.plist b/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/IDEFindNavigatorScopes.plist
new file mode 100644
index 0000000000000000000000000000000000000000..5dd5da85fdbd81ad600c193382e3305209b9e392
--- /dev/null
+++ b/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/IDEFindNavigatorScopes.plist
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<array/>
+</plist>
diff --git a/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate b/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate
index d26f25dc01367ba473483ec2dca193662029f93a..241343084fa39720c48cadfac6c68303df10ed70 100644
Binary files a/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate and b/MiniScanner.xcodeproj/project.xcworkspace/xcuserdata/g.makhoul.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index 426b099412d9bcaa184f835ad12aed2ff9a2c8bb..41b4c5eb091557c5280fe24930a666f26e5a867f 100644
--- a/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/MiniScanner.xcodeproj/xcuserdata/g.makhoul.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -3,4 +3,117 @@
    uuid = "D33AC1E3-63DB-4EB0-8F0E-71361335BCD8"
    type = "1"
    version = "2.0">
+   <Breakpoints>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "37FD8431-0BDC-4C4D-9E3F-970150E09A93"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "53"
+            endingLineNumber = "53"
+            landmarkName = "collectionView(_:cellForItemAt:)"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "37FD8431-0BDC-4C4D-9E3F-970150E09A93 - a4d5abeef222e8f1"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
+                  moduleName = "MiniScanner"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "57"
+                  endingLineNumber = "57"
+                  offsetFromSymbolStart = "820">
+               </Location>
+               <Location
+                  uuid = "37FD8431-0BDC-4C4D-9E3F-970150E09A93 - a4d5abeef222e875"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
+                  moduleName = "MiniScanner"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "53"
+                  endingLineNumber = "53"
+                  offsetFromSymbolStart = "820">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F"
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "51"
+            endingLineNumber = "51"
+            landmarkName = "collectionView(_:cellForItemAt:)"
+            landmarkType = "7">
+            <Locations>
+               <Location
+                  uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F - a4d5abeef222e8b7"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
+                  moduleName = "MiniScanner"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "55"
+                  endingLineNumber = "55"
+                  offsetFromSymbolStart = "848">
+               </Location>
+               <Location
+                  uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F - a4d5abeef222e8b7"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
+                  moduleName = "MiniScanner"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "55"
+                  endingLineNumber = "55"
+                  offsetFromSymbolStart = "168">
+               </Location>
+               <Location
+                  uuid = "2F53B704-9817-4CEA-8BA8-B5F04FB7260F - a4d5abeef222e83b"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "MiniScanner.AllFolderTableViewCell.collectionView(_: __C.UICollectionView, cellForItemAt: Foundation.IndexPath) -&gt; __C.UICollectionViewCell"
+                  moduleName = "MiniScanner"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/g.makhoul/Downloads/miniscanner-1.0.3(6)/MiniScanner/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "51"
+                  endingLineNumber = "51"
+                  offsetFromSymbolStart = "168">
+               </Location>
+            </Locations>
+         </BreakpointContent>
+      </BreakpointProxy>
+   </Breakpoints>
 </Bucket>
diff --git a/MiniScanner/.DS_Store b/MiniScanner/.DS_Store
index f31b1945701570aeb2b9de2c1046f8e6698a1431..43430360f8b127aad2173de282fcc5f246d7831b 100644
Binary files a/MiniScanner/.DS_Store and b/MiniScanner/.DS_Store differ
diff --git a/MiniScanner/Common/AppTabBarController.swift b/MiniScanner/Common/AppTabBarController.swift
index 00feccf3683d7e6107014b5e4252a76bd1cd900b..1ac41e36da65afe421ed1bcb98176e605d4c1498 100644
--- a/MiniScanner/Common/AppTabBarController.swift
+++ b/MiniScanner/Common/AppTabBarController.swift
@@ -1,166 +1,168 @@
 import UIKit
 
 class AppTabBarController: UITabBarController, UITabBarControllerDelegate, WalkthroughViewControllerDelegate {
-  
-  struct Constants {
-    static let reuseIdentifier = String(describing: AppTabBarController.self)
-    static let storyboardName = "Documents"
-  }
-  
-  static func buildViewController() -> AppTabBarController {
-    let controller = UIStoryboard(name: Constants.storyboardName,
-                                  bundle: .main).instantiateViewController(withIdentifier: Constants.reuseIdentifier)
-    return controller as! AppTabBarController
-  }
-  
-  required init?(coder: NSCoder) {
-    super.init(coder: coder)
-  }
-  
-  override func viewDidLoad() {
-    super.viewDidLoad()
-    self.delegate = self
-  }
-  
-  override func viewWillAppear(_ animated: Bool) {
-    super.viewWillAppear(animated)
-    if UserDefaults.standard.showWalktroughAtLaunch {
-      perform(#selector(showWalkTrough), with: self, afterDelay: 0.88)
-    }
-  }
-  
-  let walkthroughs = [
-    WalkthroughModel(title: "Quick Overview",
-                        subtitle: "Quickly visualize important business metrics. The overview in the home tab shows the most important metrics to monitor how your business is doing in real time.",
-                        icon: "analytics-icon"),
-    WalkthroughModel(title: "Analytics",
-                        subtitle: "Dive deep into charts to extract valuable insights and come up with data driven product initiatives, to boost the success of your business.",
-                        icon: "bars-icon"),
-    WalkthroughModel(title: "Dashboard Feeds",
-                        subtitle: "View your sales feed, orders, customers, products and employees.",
-                        icon: "activity-feed-icon"),
-    WalkthroughModel(title: "Get Notified",
-                        subtitle: "Receive notifications when critical situations occur to stay on top of everything important.",
-                        icon: "bell-icon"),
-  ]
-  
-  @objc private func showWalkTrough() {
-    let walkthroughVC = self.walkthroughVC()
-    walkthroughVC.delegate = self
-    addChildViewControllerWithView(walkthroughVC)
-  }
-  
-  fileprivate func walkthroughVC() -> WalkthroughViewController {
-    let viewControllers = walkthroughs.map { ClassicWalkthroughViewController(model: $0, nibName: "ClassicWalkthroughViewController", bundle: nil) }
-    return WalkthroughViewController(nibName: "WalkthroughViewController",
-                                        bundle: nil,
-                                        viewControllers: viewControllers)
-  }
-  
-  func walkthroughViewControllerDidFinishFlow(_ vc: WalkthroughViewController) {
-    UIView.transition(with: self.view, duration: 1, options: .transitionCrossDissolve, animations: {
-      vc.view.removeFromSuperview()
-    }, completion: nil)
-  }
+    
+    struct Constants {
+        static let reuseIdentifier = String(describing: AppTabBarController.self)
+        static let storyboardName = "Documents"
+    }
+    
+    static func buildViewController() -> AppTabBarController {
+        let controller = UIStoryboard(name: Constants.storyboardName,
+                                      bundle: .main).instantiateViewController(withIdentifier: Constants.reuseIdentifier)
+        return controller as! AppTabBarController
+    }
+    
+    required init?(coder: NSCoder) {
+        super.init(coder: coder)
+    }
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        self.delegate = self
+    }
+    
+    override func viewWillAppear(_ animated: Bool) {
+        super.viewWillAppear(animated)
+        if UserDefaults.standard.showWalktroughAtLaunch {
+            perform(#selector(showWalkTrough), with: self, afterDelay: 0.88)
+        }
+    }
+    
+    let walkthroughs = [
+        WalkthroughModel(title: "Quick Overview",
+                         subtitle: "Quickly visualize important business metrics. The overview in the home tab shows the most important metrics to monitor how your business is doing in real time.",
+                         icon: "analytics-icon"),
+        WalkthroughModel(title: "Analytics",
+                         subtitle: "Dive deep into charts to extract valuable insights and come up with data driven product initiatives, to boost the success of your business.",
+                         icon: "bars-icon"),
+        WalkthroughModel(title: "Dashboard Feeds",
+                         subtitle: "View your sales feed, orders, customers, products and employees.",
+                         icon: "activity-feed-icon"),
+        WalkthroughModel(title: "Get Notified",
+                         subtitle: "Receive notifications when critical situations occur to stay on top of everything important.",
+                         icon: "bell-icon"),
+    ]
+    
+    @objc private func showWalkTrough() {
+        let walkthroughVC = self.walkthroughVC()
+        walkthroughVC.delegate = self
+        addChildViewControllerWithView(walkthroughVC)
+    }
+    
+    fileprivate func walkthroughVC() -> WalkthroughViewController {
+        let viewControllers = walkthroughs.map { ClassicWalkthroughViewController(model: $0, nibName: "ClassicWalkthroughViewController", bundle: nil) }
+        return WalkthroughViewController(nibName: "WalkthroughViewController",
+                                         bundle: nil,
+                                         viewControllers: viewControllers)
+    }
+    
+    func walkthroughViewControllerDidFinishFlow(_ vc: WalkthroughViewController) {
+        UIView.transition(with: self.view, duration: 1, options: .transitionCrossDissolve, animations: {
+            vc.view.removeFromSuperview()
+        }, completion: nil)
+    }
 }
 
 class AppTabBar: UITabBar {
-  
-  private var middleButton = UIButton()
-  private var shapeLayer: CALayer?
-  
-  private func addShape() {
-    let shapeLayer = CAShapeLayer()
-    shapeLayer.path = createPath()
-    shapeLayer.strokeColor = UIColor.lightGray.cgColor
-    let tabBackColor = UIColor.barTintColor
-    shapeLayer.fillColor = tabBackColor.cgColor
-    shapeLayer.lineWidth = 0.5
-    
-    //The below 4 lines are for shadow above the bar. you can skip them if you do not want a shadow
-    shapeLayer.shadowOffset = CGSize(width:0, height:0)
-    shapeLayer.shadowRadius = 10
-    shapeLayer.shadowColor = UIColor.gray.cgColor
-    shapeLayer.shadowOpacity = 0.3
-    
-    if let oldShapeLayer = self.shapeLayer {
-      self.layer.replaceSublayer(oldShapeLayer, with: shapeLayer)
-    } else {
-      self.layer.insertSublayer(shapeLayer, at: 0)
-    }
-    self.shapeLayer = shapeLayer
-  }
-  
-  override func awakeFromNib() {
-    super.awakeFromNib()
-    setupMiddleButton()
-  }
-  
-  override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
-    if self.isHidden {
-      return super.hitTest(point, with: event)
-    }
-    
-    let from = point
-    let to = middleButton.center
-    
-    return sqrt((from.x - to.x) * (from.x - to.x) + (from.y - to.y) * (from.y - to.y)) <= 120 ? middleButton : super.hitTest(point, with: event)
-  }
-  
-  override func layoutSubviews() {
-    super.layoutSubviews()
-    middleButton.center = CGPoint(x: UIScreen.main.bounds.width / 2, y: 10)
-  }
-  
-  @objc private func setupMiddleButton() {
-    let image = UIImage(named: "add_doc_icon")
-    middleButton.setImage(image, for: UIControl.State.normal)
-    middleButton.contentVerticalAlignment = .fill
-    middleButton.contentHorizontalAlignment = .fill
-    middleButton.imageEdgeInsets = .zero
-    middleButton.frame.size = CGSize(width: 80, height: 80)
-    middleButton.layer.cornerRadius = 32
-    middleButton.layer.masksToBounds = true
-    middleButton.center = CGPoint(x: UIScreen.main.bounds.width / 2, y: 0)
-    middleButton.addTarget(self, action: #selector(buttonPressed), for: .touchUpInside)
-    addSubview(middleButton)
-  }
-  
-  @objc private func buttonPressed() {
-    if let tabBarController = self.window!.rootViewController as? UITabBarController {
-      NotificationCenter.default.post(name: NSNotification.Name.MiddleButtonTapped, object: middleButton)
-      
-      if tabBarController.selectedIndex != 0 {
-        UIView.animate(withDuration: 0.33) {
-          tabBarController.selectedIndex = 0
+    
+    private var middleButton = UIButton()
+    private var shapeLayer: CALayer?
+    
+    private func addShape() {
+        let shapeLayer = CAShapeLayer()
+        shapeLayer.path = createPath()
+        shapeLayer.strokeColor = UIColor.lightGray.cgColor
+        let tabBackColor = UIColor.barTintColor
+        shapeLayer.fillColor = tabBackColor.cgColor
+        shapeLayer.lineWidth = 0.5
+        
+        //The below 4 lines are for shadow above the bar. you can skip them if you do not want a shadow
+        shapeLayer.shadowOffset = CGSize(width:0, height:0)
+        shapeLayer.shadowRadius = 10
+        shapeLayer.shadowColor = UIColor.gray.cgColor
+        shapeLayer.shadowOpacity = 0.3
+        
+        if let oldShapeLayer = self.shapeLayer {
+            self.layer.replaceSublayer(oldShapeLayer, with: shapeLayer)
+        } else {
+            self.layer.insertSublayer(shapeLayer, at: 0)
+        }
+        self.shapeLayer = shapeLayer
+    }
+    
+    override func awakeFromNib() {
+        super.awakeFromNib()
+        setupMiddleButton()
+    }
+    
+    override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
+        if self.isHidden {
+            return super.hitTest(point, with: event)
         }
-      }
-    }
-  }
-  
-  override func draw(_ rect: CGRect) {
-    self.addShape()
-  }
-  
-  private func createPath() -> CGPath {
-    let height: CGFloat = 37.0
-    let path = UIBezierPath()
-    let centerWidth = self.frame.width / 2
-    path.move(to: CGPoint(x: 0, y: 0)) // start top left
-    path.addLine(to: CGPoint(x: (centerWidth - height-20), y: 0)) // the beginning of the trough
-    
-    path.addCurve(to: CGPoint(x: centerWidth, y: -height-5),
-                  controlPoint1: CGPoint(x: (centerWidth - 40), y:  0), controlPoint2: CGPoint(x: centerWidth-50, y: -height))
-    
-    
-    path.addCurve(to: CGPoint(x: (centerWidth + height+20), y: 0),
-                  controlPoint1: CGPoint(x: centerWidth+50, y:-height), controlPoint2: CGPoint(x: (centerWidth + 40), y: 0))
-    
-    path.addLine(to: CGPoint(x: self.frame.width, y: 0))
-    path.addLine(to: CGPoint(x: self.frame.width, y: self.frame.height))
-    path.addLine(to: CGPoint(x: 0, y: self.frame.height))
-    path.close()
-    
-    return path.cgPath
-  }
+        
+        let from = point
+        let to = middleButton.center
+        
+        return sqrt((from.x - to.x) * (from.x - to.x) + (from.y - to.y) * (from.y - to.y)) <= 120 ? middleButton : super.hitTest(point, with: event)
+    }
+    
+    override func layoutSubviews() {
+        super.layoutSubviews()
+        middleButton.center = CGPoint(x: UIScreen.main.bounds.width / 2, y: 10)
+    }
+    
+    @objc private func setupMiddleButton() {
+      let image = UIImage(named: "add_doc_icon")
+      middleButton.setImage(image, for: UIControl.State.normal)
+      middleButton.contentVerticalAlignment = .fill
+      middleButton.contentHorizontalAlignment = .fill
+      middleButton.imageEdgeInsets = .zero
+      middleButton.frame.size = CGSize(width: 100, height: 100)
+      middleButton.layer.masksToBounds = true
+      middleButton.layer.cornerRadius = 50
+
+      middleButton.center = CGPoint(x: UIScreen.main.bounds.width / 2, y: 0)
+      middleButton.addTarget(self, action: #selector(buttonPressed), for: .touchUpInside)
+      addSubview(middleButton)
+    }
+    
+    @objc private func buttonPressed() {
+        if let tabBarController = self.window!.rootViewController as? UITabBarController {
+            NotificationCenter.default.post(name: NSNotification.Name.MiddleButtonTapped, object: middleButton)
+            
+            if tabBarController.selectedIndex != 0 {
+                UIView.animate(withDuration: 0.33) {
+                    tabBarController.selectedIndex = 0
+                }
+            }
+        }
+    }
+    
+    override func draw(_ rect: CGRect) {
+        self.addShape()
+    }
+    
+    private func createPath() -> CGPath {
+        let height: CGFloat = 120
+        let path = UIBezierPath()
+        let centerWidth = self.frame.width / 2
+
+        path.move(to: CGPoint(x: 0, y: 0)) // start top left
+        path.addLine(to: CGPoint(x: (centerWidth - height * 0.5), y: 0)) // the beginning of the trough
+
+        path.addArc(withCenter: CGPoint(x: centerWidth, y: 0),
+                    radius: height * 0.5,
+                    startAngle: CGFloat.pi,
+                    endAngle: 0,
+                    clockwise: false)
+
+        path.addLine(to: CGPoint(x: (centerWidth + height * 0.5), y: 0))
+        path.addLine(to: CGPoint(x: self.frame.width, y: 0))
+        path.addLine(to: CGPoint(x: self.frame.width, y: self.frame.height))
+        path.addLine(to: CGPoint(x: 0, y: self.frame.height))
+        path.close()
+
+        return path.cgPath
+    }
 }
diff --git a/MiniScanner/Managers/LocalFileManager.swift b/MiniScanner/Managers/LocalFileManager.swift
index ca431f559496b38d91f557ab196f3acad2b9a828..ad37da550b253dba05bf3cc8e66a8fbbc1a02d07 100644
--- a/MiniScanner/Managers/LocalFileManager.swift
+++ b/MiniScanner/Managers/LocalFileManager.swift
@@ -25,6 +25,16 @@ class LocalFileManager {
     
     return iFinderURL
   }
+    
+    var scannerBatchURL: URL {
+      let iFinderURL = documentsURL.appendingPathComponent(AppConfigurator.BatchesFolderName, isDirectory: true)
+      /// Check if file not exist and create
+      if !filesManager.fileExists(atPath: iFinderURL.path) {
+        try? filesManager.createDirectory(at: iFinderURL, withIntermediateDirectories: true, attributes: nil)
+      }
+      
+      return iFinderURL
+    }
   
   /// Mapped for case insensitivity
   var excludesFileExtensions: [String]? {
diff --git a/MiniScanner/Managers/PDFManager.swift b/MiniScanner/Managers/PDFManager.swift
index c51b863daf1c7d597ca066d925482ffc3b4791f8..c029d42ddef3da7cca7b063421cd571a8f6202d7 100644
--- a/MiniScanner/Managers/PDFManager.swift
+++ b/MiniScanner/Managers/PDFManager.swift
@@ -37,7 +37,7 @@ class PDFManager {
   }
   
   class func createPDFDocument(from image: UIImage, localFileManager: LocalFileManager?) {
-    guard let scannerURL = localFileManager?.scannerURL else { return }
+    guard let scannerURL = localFileManager?.scannerBatchURL else { return }
     let urlPDFtoSave = scannerURL.appendingPathComponent(String.getDocumentName())
     let document = PDFDocument()
     
diff --git a/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift
new file mode 100644
index 0000000000000000000000000000000000000000..742127ebf8d3072d3924dff03b51748033827656
--- /dev/null
+++ b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.swift
@@ -0,0 +1,59 @@
+//
+//  AllFolderTableViewCell.swift
+//  MiniScanner
+//
+//  Created by George Makhoul on 06/06/2024.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+
+import UIKit
+
+final class AllFolderTableViewCell: UIView {
+    // MARK: - Outlets
+    @IBOutlet weak var collectionView: UICollectionView!
+    
+    // MARK: - Properties
+    
+    // MARK: - LifeCycle
+    override func awakeFromNib() {
+        super.awakeFromNib()
+        setupCollectionView()
+    }
+    
+    private func setupCollectionView() {
+        let layout = UICollectionViewFlowLayout()
+        layout.scrollDirection = .horizontal
+        layout.minimumLineSpacing = 10
+        layout.minimumInteritemSpacing = 10
+        self.collectionView.collectionViewLayout = layout
+        self.collectionView.delegate = self
+        self.collectionView.dataSource = self
+        self.collectionView.register(UINib(nibName: "FolderCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "FolderCollectionViewCell")
+        
+        self.collectionView.reloadData()
+    }
+}
+
+extension AllFolderTableViewCell: UICollectionViewDelegateFlowLayout {
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
+        let itemHeight = collectionView.frame.height / 2.2
+        let itemWidth = collectionView.frame.width / 2
+        return CGSize(width: itemWidth, height: itemHeight)
+    }
+}
+
+extension AllFolderTableViewCell: UICollectionViewDelegate, UICollectionViewDataSource {
+    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
+        5
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
+        if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "FolderCollectionViewCell", for: indexPath) as? FolderCollectionViewCell {
+            cell.set(title: "title \(indexPath.row)")
+            return cell
+        }
+        return UICollectionViewCell()
+    }
+    
+    
+}
diff --git a/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.xib b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.xib
new file mode 100644
index 0000000000000000000000000000000000000000..fcafa1a6012f85f9013c5b52e0eff56a6f965a43
--- /dev/null
+++ b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/AllFolderTableViewCell.xib
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="IMm-Qg-H9R" customClass="AllFolderTableViewCell" customModule="MiniScanner" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="335" height="323"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <subviews>
+                <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="ATv-Qf-nQ6">
+                    <rect key="frame" x="12" y="60" width="323" height="251"/>
+                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="i3d-3v-3An">
+                        <size key="itemSize" width="128" height="128"/>
+                        <size key="headerReferenceSize" width="0.0" height="0.0"/>
+                        <size key="footerReferenceSize" width="0.0" height="0.0"/>
+                        <inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
+                    </collectionViewFlowLayout>
+                </collectionView>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Folders" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k4D-XM-uc5">
+                    <rect key="frame" x="12" y="12" width="65" height="36"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="20"/>
+                    <color key="textColor" red="0.68235294117647061" green="0.69411764705882351" blue="0.74117647058823533" alpha="1" colorSpace="calibratedRGB"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RpH-94-tHk">
+                    <rect key="frame" x="227" y="12" width="96" height="36"/>
+                    <fontDescription key="fontDescription" type="system" pointSize="20"/>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <state key="normal" title="Add Folder">
+                        <color key="titleColor" red="0.12156862745098039" green="0.52549019607843139" blue="1" alpha="1" colorSpace="calibratedRGB"/>
+                    </state>
+                </button>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="dvn-eZ-g5z"/>
+            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <constraints>
+                <constraint firstItem="k4D-XM-uc5" firstAttribute="centerY" secondItem="RpH-94-tHk" secondAttribute="centerY" id="7V5-HZ-Cq4"/>
+                <constraint firstAttribute="trailing" secondItem="RpH-94-tHk" secondAttribute="trailing" constant="12" id="8H6-Ak-KSi"/>
+                <constraint firstItem="ATv-Qf-nQ6" firstAttribute="top" secondItem="RpH-94-tHk" secondAttribute="bottom" constant="12" id="Puk-Ig-Ane"/>
+                <constraint firstItem="k4D-XM-uc5" firstAttribute="top" secondItem="IMm-Qg-H9R" secondAttribute="top" constant="12" id="Ttt-x2-9hA"/>
+                <constraint firstItem="ATv-Qf-nQ6" firstAttribute="leading" secondItem="dvn-eZ-g5z" secondAttribute="leading" constant="12" id="XRa-yE-Yse"/>
+                <constraint firstItem="RpH-94-tHk" firstAttribute="top" secondItem="IMm-Qg-H9R" secondAttribute="top" constant="12" id="ZY4-kh-dfD"/>
+                <constraint firstItem="k4D-XM-uc5" firstAttribute="leading" secondItem="IMm-Qg-H9R" secondAttribute="leading" constant="12" id="b1E-9T-Z5P"/>
+                <constraint firstAttribute="bottom" secondItem="ATv-Qf-nQ6" secondAttribute="bottom" constant="12" id="b4H-WU-jSp"/>
+                <constraint firstItem="dvn-eZ-g5z" firstAttribute="trailing" secondItem="ATv-Qf-nQ6" secondAttribute="trailing" id="esV-e5-Agm"/>
+            </constraints>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="collectionView" destination="ATv-Qf-nQ6" id="b8i-fA-6g6"/>
+            </connections>
+            <point key="canvasLocation" x="148.85496183206106" y="308.80281690140845"/>
+        </view>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.swift b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.swift
new file mode 100644
index 0000000000000000000000000000000000000000..e6668dd351a88ad6139f5eade32bd7bb5942087a
--- /dev/null
+++ b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.swift
@@ -0,0 +1,38 @@
+//
+//  FolderCollectionViewCell.swift
+//  MiniScanner
+//
+//  Created by George Makhoul on 06/06/2024.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+
+import UIKit
+
+class FolderCollectionViewCell: UICollectionViewCell {
+    // MARK: - Outlets
+    @IBOutlet weak var boxView: UIView!
+    @IBOutlet weak var titleLabel: UILabel!
+    
+    // MARK: - Properties
+    
+    // MARK: - LifeCycle
+    override func awakeFromNib() {
+        super.awakeFromNib()
+        setupUI()
+    }
+    
+    private func setupUI() {
+        boxView.layer.cornerRadius = 10
+        boxView.layer.shadowColor = UIColor.gray.cgColor
+        boxView.layer.shadowOffset = CGSize(width: 0, height: 2) // Shadow position
+        boxView.layer.shadowOpacity = 0.7 // Shadow opacity
+        boxView.layer.shadowRadius = 4.0
+        boxView.backgroundColor = .white // or any non-clear color
+        boxView.clipsToBounds = false
+
+    }
+    
+    func set(title: String) {
+        self.titleLabel.text = title
+    }
+}
diff --git a/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.xib b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.xib
new file mode 100644
index 0000000000000000000000000000000000000000..947984f807410311c2c73446c830d6d1b6434756
--- /dev/null
+++ b/MiniScanner/Modules/Documents/CustomCells/AllFolderTableViewCell/CustomCells/FolderCollectionViewCell.xib
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="FolderCollectionViewCell" id="gTV-IL-0wX" customClass="FolderCollectionViewCell" customModule="MiniScanner" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="218" height="51"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
+                <rect key="frame" x="0.0" y="0.0" width="218" height="51"/>
+                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yLC-Fk-FwR">
+                        <rect key="frame" x="5" y="5" width="208" height="41"/>
+                        <subviews>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D7K-ZB-UlJ">
+                                <rect key="frame" x="5" y="5" width="198" height="31"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                <nil key="textColor"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstAttribute="bottom" secondItem="D7K-ZB-UlJ" secondAttribute="bottom" constant="5" id="24v-2D-M4k"/>
+                            <constraint firstItem="D7K-ZB-UlJ" firstAttribute="top" secondItem="yLC-Fk-FwR" secondAttribute="top" constant="5" id="61w-s3-ojR"/>
+                            <constraint firstItem="D7K-ZB-UlJ" firstAttribute="leading" secondItem="yLC-Fk-FwR" secondAttribute="leading" constant="5" id="EIl-rx-0Rh"/>
+                            <constraint firstAttribute="trailing" secondItem="D7K-ZB-UlJ" secondAttribute="trailing" constant="5" id="Vjk-bg-gFN"/>
+                        </constraints>
+                    </view>
+                </subviews>
+            </view>
+            <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstAttribute="trailing" secondItem="yLC-Fk-FwR" secondAttribute="trailing" constant="5" id="Tqy-Hv-2JL"/>
+                <constraint firstItem="yLC-Fk-FwR" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="5" id="aYS-RK-wgU"/>
+                <constraint firstItem="yLC-Fk-FwR" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="5" id="mKT-ym-FYc"/>
+                <constraint firstAttribute="bottom" secondItem="yLC-Fk-FwR" secondAttribute="bottom" constant="5" id="xkr-S4-MSG"/>
+            </constraints>
+            <size key="customSize" width="218" height="51"/>
+            <connections>
+                <outlet property="boxView" destination="yLC-Fk-FwR" id="fP8-gO-B1P"/>
+                <outlet property="titleLabel" destination="D7K-ZB-UlJ" id="ymJ-OO-6sG"/>
+            </connections>
+            <point key="canvasLocation" x="174.04580152671755" y="61.619718309859159"/>
+        </collectionViewCell>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>
diff --git a/MiniScanner/Modules/Documents/Documents.storyboard b/MiniScanner/Modules/Documents/Documents.storyboard
index 59343db3505d19b3d2398ea5ec6c6af11340b39f..be47af22eaa1890876faa3ad84c62c7aed6b02a4 100644
--- a/MiniScanner/Modules/Documents/Documents.storyboard
+++ b/MiniScanner/Modules/Documents/Documents.storyboard
@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="NRZ-n7-XkU">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22155" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="NRZ-n7-XkU">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17703"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -19,7 +19,7 @@
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <prototypes>
                             <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="DocumentsTableViewCell" rowHeight="89" id="Mdk-jc-rWc" customClass="DocumentsTableViewCell" customModule="MiniScanner" customModuleProvider="target">
-                                <rect key="frame" x="0.0" y="28" width="414" height="89"/>
+                                <rect key="frame" x="0.0" y="50" width="414" height="89"/>
                                 <autoresizingMask key="autoresizingMask"/>
                                 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Mdk-jc-rWc" id="4dt-n0-cfY">
                                     <rect key="frame" x="0.0" y="0.0" width="414" height="89"/>
@@ -134,7 +134,7 @@
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <prototypes>
                             <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="SettingsTableViewCell" rowHeight="50" id="1SO-UK-YpT" customClass="SettingsTableViewCell" customModule="MiniScanner" customModuleProvider="target">
-                                <rect key="frame" x="0.0" y="28" width="414" height="50"/>
+                                <rect key="frame" x="0.0" y="50" width="414" height="50"/>
                                 <autoresizingMask key="autoresizingMask"/>
                                 <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="1SO-UK-YpT" id="n7G-Id-eYr">
                                     <rect key="frame" x="0.0" y="0.0" width="414" height="50"/>
@@ -200,26 +200,27 @@
                     <tabBar key="tabBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" itemPositioning="fill" id="UOw-xw-62P" customClass="AppTabBar" customModule="MiniScanner" customModuleProvider="target">
                         <rect key="frame" x="0.0" y="0.0" width="1000" height="1000"/>
                         <autoresizingMask key="autoresizingMask"/>
+                        <color key="tintColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <color key="barTintColor" systemColor="systemBackgroundColor"/>
                     </tabBar>
                     <connections>
-                        <segue destination="cKa-08-wzp" kind="relationship" relationship="viewControllers" id="smJ-BA-5nz"/>
-                        <segue destination="X96-Kr-3o1" kind="relationship" relationship="viewControllers" id="mEc-1I-9A0"/>
-                        <segue destination="OGd-a1-RyU" kind="relationship" relationship="viewControllers" id="A2s-tX-G5V"/>
+                        <segue destination="cKa-08-wzp" kind="relationship" relationship="viewControllers" id="cmG-E6-cLT"/>
+                        <segue destination="X96-Kr-3o1" kind="relationship" relationship="viewControllers" id="wZA-Em-Yv2"/>
+                        <segue destination="OGd-a1-RyU" kind="relationship" relationship="viewControllers" id="cRB-zr-FXl"/>
                     </connections>
                 </tabBarController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="OcG-fV-cWh" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
             </objects>
             <point key="canvasLocation" x="100" y="175"/>
         </scene>
-        <!--Documents-->
+        <!--Base Navigation View Controller-->
         <scene sceneID="0Jn-Mr-Pmn">
             <objects>
                 <navigationController automaticallyAdjustsScrollViewInsets="NO" id="cKa-08-wzp" customClass="BaseNavigationViewController" customModule="MiniScanner" customModuleProvider="target" sceneMemberID="viewController">
-                    <tabBarItem key="tabBarItem" title="Documents" image="folder" catalog="system" id="AZk-pC-62k"/>
+                    <tabBarItem key="tabBarItem" title="" image="Files" id="AZk-pC-62k"/>
                     <toolbarItems/>
                     <navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="GtO-Qf-J4v">
-                        <rect key="frame" x="0.0" y="44" width="414" height="44"/>
+                        <rect key="frame" x="0.0" y="48" width="414" height="44"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </navigationBar>
                     <nil name="viewControllers"/>
@@ -231,14 +232,14 @@
             </objects>
             <point key="canvasLocation" x="1124.6376811594205" y="-98.4375"/>
         </scene>
-        <!--Settings-->
+        <!--Navigation Controller-->
         <scene sceneID="uqv-8W-A0Z">
             <objects>
                 <navigationController automaticallyAdjustsScrollViewInsets="NO" id="OGd-a1-RyU" sceneMemberID="viewController">
-                    <tabBarItem key="tabBarItem" title="Settings" image="settings" id="zH9-VT-a3h"/>
+                    <tabBarItem key="tabBarItem" title="" image="Gallery" id="zH9-VT-a3h"/>
                     <toolbarItems/>
                     <navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="HL0-yh-IYt">
-                        <rect key="frame" x="0.0" y="44" width="414" height="44"/>
+                        <rect key="frame" x="0.0" y="48" width="414" height="44"/>
                         <autoresizingMask key="autoresizingMask"/>
                     </navigationBar>
                     <nil name="viewControllers"/>
@@ -252,8 +253,8 @@
         </scene>
     </scenes>
     <resources>
-        <image name="folder" catalog="system" width="128" height="97"/>
-        <image name="settings" width="24" height="24"/>
+        <image name="Files" width="46" height="47"/>
+        <image name="Gallery" width="35" height="34"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
         </systemColor>
diff --git a/MiniScanner/Modules/Documents/DocumentsTableViewController.swift b/MiniScanner/Modules/Documents/DocumentsTableViewController.swift
index bd29dcf7fc70125753e1d61e99ec857eeb95c500..a630bdd24025056d6e80fd4224ab32cfa70e2e98 100644
--- a/MiniScanner/Modules/Documents/DocumentsTableViewController.swift
+++ b/MiniScanner/Modules/Documents/DocumentsTableViewController.swift
@@ -2,286 +2,280 @@ import UIKit
 import VisionKit
 
 final class DocumentsTableViewController: UITableViewController {
-  
-  struct Constants {
-    static let reuseIdentifier = String(describing: DocumentsTableViewController.self)
-    static let storyboardName = "Documents"
-    static let title = Bundle.appName
-    static let rowHeight: CGFloat = 96
-    static let cellReuseIdentifier = String(describing: DocumentsTableViewCell.self)
     
-    static let topBottom: CGFloat = 120
-    static let margin: CGFloat = 64
-  }
-  
-  static func buildViewController() -> DocumentsTableViewController {
-    let controller = UIStoryboard(name: Constants.storyboardName,
-                                  bundle: .main).instantiateViewController(withIdentifier: Constants.reuseIdentifier)
-    return controller as! DocumentsTableViewController
-  }
-  
-  private var viewModels: [File] = []
-  private var localFileManager: LocalFileManager?
-  private var sortType: SortyFileType = .date
-  
-  private let noDocumentsimageView = UIImageView(image: UIImage(named: "box"))
-  private var renameAlertController: UIAlertController?
-  private var renameFileName: String?
-  
-  override func viewDidLoad() {
-    super.viewDidLoad()
-    navigationItem.title = Constants.title
-    tableView.tableFooterView = UIView()
-    localFileManager = LocalFileManager()
+    struct Constants {
+        static let reuseIdentifier = String(describing: DocumentsTableViewController.self)
+        static let storyboardName = "Documents"
+        static let title = Bundle.appName
+        static let rowHeight: CGFloat = 96
+        static let cellReuseIdentifier = String(describing: DocumentsTableViewCell.self)
+        
+        static let topBottom: CGFloat = 120
+        static let margin: CGFloat = 64
+    }
     
-    tabBarController?.delegate = UIApplication.shared.delegate as? UITabBarControllerDelegate
+    static func buildViewController() -> DocumentsTableViewController {
+        let controller = UIStoryboard(name: Constants.storyboardName,
+                                      bundle: .main).instantiateViewController(withIdentifier: Constants.reuseIdentifier)
+        return controller as! DocumentsTableViewController
+    }
     
-    NotificationCenter.default.addObserver(self, selector: #selector(middleButtonTapped(_:)),
-                                           name: NSNotification.Name.MiddleButtonTapped, object: nil)
+    private var viewModels: [File] = []
+    private var localFileManager: LocalFileManager?
+    private var sortType: SortyFileType = .date
     
-    NotificationCenter.default.addObserver(self, selector: #selector(fetchViewModels),
-                                           name: NSNotification.Name.ReloadViewModels, object: nil)
+    //    private let noDocumentsimageView = UIImageView(image: UIImage(named: "box"))
+    private var renameAlertController: UIAlertController?
+    private var renameFileName: String?
     
-    if let view = navigationController?.view  {
-      noDocumentsimageView.translatesAutoresizingMaskIntoConstraints = false
-      noDocumentsimageView.contentMode = .scaleAspectFit
-      view.addSubview(noDocumentsimageView)
-      
-      NSLayoutConstraint.activate([
-        noDocumentsimageView.topAnchor.constraint(equalTo: view.topAnchor, constant: Constants.topBottom),
-        noDocumentsimageView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -Constants.topBottom),
-        noDocumentsimageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: Constants.margin),
-        noDocumentsimageView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -Constants.margin)
-      ])
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        navigationItem.title = "File Manager"
+        tableView.tableFooterView = UIView()
+        
+        localFileManager = LocalFileManager()
+        
+        tabBarController?.delegate = UIApplication.shared.delegate as? UITabBarControllerDelegate
+        
+        NotificationCenter.default.addObserver(self, selector: #selector(middleButtonTapped(_:)),
+                                               name: NSNotification.Name.MiddleButtonTapped, object: nil)
+        
+        NotificationCenter.default.addObserver(self, selector: #selector(fetchViewModels),
+                                               name: NSNotification.Name.ReloadViewModels, object: nil)
+        
+        if UserDefaults.standard.startsAppWithCamera {
+            openCamera()
+        }
     }
     
-    if UserDefaults.standard.startsAppWithCamera {
-      openCamera()
+    override func viewWillAppear(_ animated: Bool) {
+        super.viewWillAppear(animated)
+        fetchViewModels()
     }
-  }
-  
-  override func viewWillAppear(_ animated: Bool) {
-    super.viewWillAppear(animated)
-    fetchViewModels()
-  }
-  
-  deinit {
-    NotificationCenter.default.removeObserver(self)
-  }
-  
-  @objc private func fetchViewModels() {
-
-    guard let directoryURL = localFileManager?.scannerURL,
-          let viewModels = localFileManager?.filesForDirectory(directoryURL, sortType: sortType) else { return }
-    self.viewModels = viewModels
-    tableView.reloadData()
     
-    if viewModels.isEmpty {
-      noDocumentsimageView.isHidden = false
-    } else {
-      noDocumentsimageView.isHidden = true
+    deinit {
+        NotificationCenter.default.removeObserver(self)
     }
-  }
-  
-  // MARK: - Table view data source
-  
-  override func numberOfSections(in tableView: UITableView) -> Int {
-    // #warning Incomplete implementation, return the number of sections
-    return 1
-  }
-  
-  override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
-    // #warning Incomplete implementation, return the number of rows
-    return viewModels.count
-  }
-  
-  override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
-    guard let cell = tableView.dequeueReusableCell(withIdentifier: Constants.cellReuseIdentifier,
-                                                   for: indexPath) as? DocumentsTableViewCell else { return UITableViewCell() }
     
-    // Configure the cell...
-    let viewModel = viewModels[indexPath.row]
-    cell.configure(with: viewModel, image: localFileManager?.getThumbnail(for: viewModel.fileURL))
+    @objc private func fetchViewModels() {
+        
+        guard let directoryURL = localFileManager?.scannerURL,
+              let viewModels = localFileManager?.filesForDirectory(directoryURL, sortType: sortType) else { return }
+        self.viewModels = viewModels
+        tableView.reloadData()
+    }
     
-    return cell
-  }
-   
-  override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
-    return Constants.rowHeight
-  }
-  
-  override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-    let viewModel = viewModels[indexPath.row]
-    let controller = DocumentPreviewViewController.buildViewController()
-    controller.file = viewModel
-    controller.hidesBottomBarWhenPushed = true
-    navigationController?.pushViewController(controller, animated: true)
-  }
-  
-  override func tableView(_ tableView: UITableView,
-                          editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
-    return .none
-  }
-  
-  override func tableView(_ tableView: UITableView,
-                          trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
+    // MARK: - Table view data source
     
-    // Trash action
-    let trash = UIContextualAction(style: .destructive,
-                                   title: "Delete".localized) { [weak self] (_, _, completionHandler) in
-      self?.deleteFile(at: indexPath)
-      completionHandler(true)
+    override func numberOfSections(in tableView: UITableView) -> Int {
+        // #warning Incomplete implementation, return the number of sections
+        return 1
     }
-    trash.backgroundColor = .systemRed
-    trash.image = UIImage(systemName: "trash")?.tint(with: .white)
     
-    // Rename action
-    let rename = UIContextualAction(style: .normal,
-                                    title: "Rename".localized) { [weak self] (_, _, completionHandler) in
-      self?.renameFile(at: indexPath)
-      completionHandler(true)
+    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
+        // #warning Incomplete implementation, return the number of rows
+        return viewModels.count
     }
-    rename.backgroundColor = UIColor.black.withAlphaComponent(0.5)
-    rename.image = UIImage(systemName: "square.and.pencil")?.tint(with: .white)
-    
-    let configuration = UISwipeActionsConfiguration(actions: [trash, rename])
-    configuration.performsFirstActionWithFullSwipe = true
     
-    return configuration
-  }
-  
-  @objc private func middleButtonTapped(_ notification: NSNotification) {
-    let alertController = UIAlertController(title: nil,
-                                  message: nil, preferredStyle: .actionSheet)
-
-    let cameraAction = UIAlertAction(title: "Camera".localized, style: .default, handler: { action in
-      self.openCamera()
-    })
+    override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+        let nib = UINib(nibName: "AllFolderTableViewCell", bundle: nil)
+        let header = nib.instantiate(withOwner: nil, options: nil).first as? AllFolderTableViewCell
+        return header
+    }
     
-    let galleryAction = UIAlertAction(title: "Gallery".localized, style: .default, handler: { action in
-      self.openGallery()
-    })
+    override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
+        220
+    }
     
-    alertController.addAction(cameraAction)
-    cameraAction.setValue(UIImage(systemName: "camera"), forKey: "image")
-    cameraAction.setValue(CATextLayerAlignmentMode.left, forKey: "titleTextAlignment")
     
-    alertController.addAction(galleryAction)
-    galleryAction.setValue(UIImage(systemName: "photo"), forKey: "image")
-    galleryAction.setValue(CATextLayerAlignmentMode.left, forKey: "titleTextAlignment")
+    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
+        guard let cell = tableView.dequeueReusableCell(withIdentifier: Constants.cellReuseIdentifier,
+                                                       for: indexPath) as? DocumentsTableViewCell else { return UITableViewCell() }
+        
+        // Configure the cell...
+        let viewModel = viewModels[indexPath.row]
+        cell.configure(with: viewModel, image: localFileManager?.getThumbnail(for: viewModel.fileURL))
+        
+        return cell
+        
+    }
     
-    alertController.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: nil))
-    alertController.popoverPresentationController?.sourceView = notification.object as? UIButton
-    present(alertController, animated: true)
-  }
-  
-  private func openCamera() {
-      let scannerOptions = ImageScannerOptions(scanMultipleItems: true,
-                                                       allowAutoScan: false,
-                                                       allowTapToFocus: false,
-                                                       defaultColorRenderOption:.color)
-      let scannerViewController = ImageScannerController(options: scannerOptions)
-    scannerViewController.imageScannerDelegate = self
-    present(scannerViewController, animated: true)
-  }
-  
-  private func openGallery() {
-    guard UIImagePickerController.isSourceTypeAvailable(.savedPhotosAlbum) else { return }
-    let imagePickerController = UIImagePickerController()
-    imagePickerController.delegate = self
+    override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
+        return Constants.rowHeight
+    }
     
-    imagePickerController.sourceType = UIImagePickerController.SourceType.savedPhotosAlbum
-    imagePickerController.allowsEditing = UserDefaults.standard.isPhotoEditigOn
-    present(imagePickerController, animated: true, completion: nil)
-  }
-
-  private func renameFile(at indexPath: IndexPath) {
-    let viewModel = viewModels[indexPath.row]
-    renameAlertController = UIAlertController(title: "Rename document".localized, message: nil, preferredStyle: .alert)
+    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        let viewModel = viewModels[indexPath.row]
+        let controller = DocumentPreviewViewController.buildViewController()
+        controller.file = viewModel
+        controller.hidesBottomBarWhenPushed = true
+        navigationController?.pushViewController(controller, animated: true)
+    }
     
-    renameAlertController!.addTextField { [weak self] textField in
-      guard let self = self else { return }
-      textField.placeholder = viewModel.displayName
-      textField.text = viewModel.displayName
-      textField.clearButtonMode = .always
-      self.renameFileName = viewModel.displayName
-      textField.addTarget(self, action: #selector(self.textFieldDidChange(_:)), for: .editingChanged)
+    override func tableView(_ tableView: UITableView,
+                            editingStyleForRowAt indexPath: IndexPath) -> UITableViewCell.EditingStyle {
+        return .none
     }
     
-    let continueAction = UIAlertAction(title: "Rename".localized,
-                                       style: .default) { [weak self] _ in
-      guard let self = self else { return }
-      guard let textFields = self.renameAlertController?.textFields else { return }
-      
-      if let newName = textFields.first?.text, newName != viewModel.displayName {
-        do {
-          try self.localFileManager?.renameFile(at: viewModel.fileURL, withName: newName)
-          self.fetchViewModels()
-        } catch {
-          return
+    override func tableView(_ tableView: UITableView,
+                            trailingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
+        
+        // Trash action
+        let trash = UIContextualAction(style: .destructive,
+                                       title: "Delete".localized) { [weak self] (_, _, completionHandler) in
+            self?.deleteFile(at: indexPath)
+            completionHandler(true)
         }
-      }
+        trash.backgroundColor = .systemRed
+        trash.image = UIImage(systemName: "trash")?.tint(with: .white)
+        
+        // Rename action
+        let rename = UIContextualAction(style: .normal,
+                                        title: "Rename".localized) { [weak self] (_, _, completionHandler) in
+            self?.renameFile(at: indexPath)
+            completionHandler(true)
+        }
+        rename.backgroundColor = UIColor.black.withAlphaComponent(0.5)
+        rename.image = UIImage(systemName: "square.and.pencil")?.tint(with: .white)
+        
+        let configuration = UISwipeActionsConfiguration(actions: [trash, rename])
+        configuration.performsFirstActionWithFullSwipe = true
+        
+        return configuration
     }
-
-    renameAlertController!.addAction(continueAction)
-    renameAlertController!.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: nil))
-    renameAlertController?.actions.first?.isEnabled = false
-    present(renameAlertController!, animated: true)
-  }
-  
-  private func deleteFile(at indexPath: IndexPath) {
-    let viewModel = viewModels[indexPath.row]
-
-    if UserDefaults.standard.askOnSwipeDelete {
-      let alertController = UIAlertController(title: Bundle.appName,
-                                              message: "Are you sure you want to delete this document?".localized, preferredStyle: .alert)
+    
+    @objc private func middleButtonTapped(_ notification: NSNotification) {
+        let alertController = UIAlertController(title: nil,
+                                                message: nil, preferredStyle: .actionSheet)
+        
+        let cameraAction = UIAlertAction(title: "Camera".localized, style: .default, handler: { action in
+            self.openCamera()
+        })
+        
+        let galleryAction = UIAlertAction(title: "Gallery".localized, style: .default, handler: { action in
+            self.openGallery()
+        })
+        
+        alertController.addAction(cameraAction)
+        cameraAction.setValue(UIImage(systemName: "camera"), forKey: "image")
+        cameraAction.setValue(CATextLayerAlignmentMode.left, forKey: "titleTextAlignment")
+        
+        alertController.addAction(galleryAction)
+        galleryAction.setValue(UIImage(systemName: "photo"), forKey: "image")
+        galleryAction.setValue(CATextLayerAlignmentMode.left, forKey: "titleTextAlignment")
+        
+        alertController.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: nil))
+        alertController.popoverPresentationController?.sourceView = notification.object as? UIButton
+        present(alertController, animated: true)
+    }
+    
+    private func openCamera() {
+        let scannerOptions = ImageScannerOptions(scanMultipleItems: true,
+                                                 allowAutoScan: false,
+                                                 allowTapToFocus: false,
+                                                 defaultColorRenderOption:.color)
+        let scannerViewController = ImageScannerController(options: scannerOptions)
+        scannerViewController.imageScannerDelegate = self
+        present(scannerViewController, animated: true)
+    }
+    
+    private func openGallery() {
+        guard UIImagePickerController.isSourceTypeAvailable(.savedPhotosAlbum) else { return }
+        let imagePickerController = UIImagePickerController()
+        imagePickerController.delegate = self
+        
+        imagePickerController.sourceType = UIImagePickerController.SourceType.savedPhotosAlbum
+        imagePickerController.allowsEditing = UserDefaults.standard.isPhotoEditigOn
+        present(imagePickerController, animated: true, completion: nil)
+    }
+    
+    private func renameFile(at indexPath: IndexPath) {
+        let viewModel = viewModels[indexPath.row]
+        renameAlertController = UIAlertController(title: "Rename document".localized, message: nil, preferredStyle: .alert)
+        
+        renameAlertController!.addTextField { [weak self] textField in
+            guard let self = self else { return }
+            textField.placeholder = viewModel.displayName
+            textField.text = viewModel.displayName
+            textField.clearButtonMode = .always
+            self.renameFileName = viewModel.displayName
+            textField.addTarget(self, action: #selector(self.textFieldDidChange(_:)), for: .editingChanged)
+        }
+        
+        let continueAction = UIAlertAction(title: "Rename".localized,
+                                           style: .default) { [weak self] _ in
+            guard let self = self else { return }
+            guard let textFields = self.renameAlertController?.textFields else { return }
             
-      let okAction = UIAlertAction(title: "Yes, delete!".localized, style: .destructive, handler: { [weak self] action in
-        guard let self = self else { return }
+            if let newName = textFields.first?.text, newName != viewModel.displayName {
+                do {
+                    try self.localFileManager?.renameFile(at: viewModel.fileURL, withName: newName)
+                    self.fetchViewModels()
+                } catch {
+                    return
+                }
+            }
+        }
         
-        self.delete(file: viewModel.fileURL, at: indexPath)
-      })
-      
-      alertController.addAction(okAction)
-      
-      alertController.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: nil))
-      alertController.popoverPresentationController?.sourceView = tableView.cellForRow(at: indexPath)
-      present(alertController, animated: true)
-    } else {
-      delete(file: viewModel.fileURL, at: indexPath)
+        renameAlertController!.addAction(continueAction)
+        renameAlertController!.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: nil))
+        renameAlertController?.actions.first?.isEnabled = false
+        present(renameAlertController!, animated: true)
     }
-  }
-  
-  private func delete(file fileURL: URL, at indexPath: IndexPath) {
-    do {
-      try self.localFileManager?.filesManager.removeItem(at: fileURL)
-      try self.localFileManager?.removeThumbnail(for: fileURL)
-      self.viewModels.remove(at: indexPath.row)
-      self.tableView.deleteRows(at: [indexPath], with: .fade)
-    } catch {
-      return
+    
+    private func deleteFile(at indexPath: IndexPath) {
+        let viewModel = viewModels[indexPath.row]
+        
+        if UserDefaults.standard.askOnSwipeDelete {
+            let alertController = UIAlertController(title: Bundle.appName,
+                                                    message: "Are you sure you want to delete this document?".localized, preferredStyle: .alert)
+            
+            let okAction = UIAlertAction(title: "Yes, delete!".localized, style: .destructive, handler: { [weak self] action in
+                guard let self = self else { return }
+                
+                self.delete(file: viewModel.fileURL, at: indexPath)
+            })
+            
+            alertController.addAction(okAction)
+            
+            alertController.addAction(UIAlertAction(title: "Cancel".localized, style: .cancel, handler: nil))
+            alertController.popoverPresentationController?.sourceView = tableView.cellForRow(at: indexPath)
+            present(alertController, animated: true)
+        } else {
+            delete(file: viewModel.fileURL, at: indexPath)
+        }
     }
-    if self.viewModels.isEmpty {
-      self.noDocumentsimageView.isHidden = false
+    
+    private func delete(file fileURL: URL, at indexPath: IndexPath) {
+        do {
+            try self.localFileManager?.filesManager.removeItem(at: fileURL)
+            try self.localFileManager?.removeThumbnail(for: fileURL)
+            self.viewModels.remove(at: indexPath.row)
+            self.tableView.deleteRows(at: [indexPath], with: .fade)
+        } catch {
+            return
+        }
+        //        if self.viewModels.isEmpty {
+        //            self.noDocumentsimageView.isHidden = false
+        //        }
     }
-  }
 }
 
 /// Tells the delegate that the user picked a still image.
 extension DocumentsTableViewController: UINavigationControllerDelegate, UIImagePickerControllerDelegate {
-  /// Your delegate object’s implementation of this method should pass the specified media on to any custom code that needs it, and should then dismiss the picker view.
-  /// When editing is enabled, the image picker view presents the user with a preview of the currently selected image or movie along with controls for modifying it.
-  /// (This behavior is managed by the picker view prior to calling this method.) If the user modifies the image or movie, the editing information is available in the info parameter.
-  /// The original image is also returned in the info parameter.
-  func imagePickerController(_ picker: UIImagePickerController,
-                             didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
-    picker.dismiss(animated: true) { [weak self] in
-      guard let self = self else { return }
-      guard let image = info[UserDefaults.standard.isPhotoEditigOn ? UIImagePickerController.InfoKey.editedImage : UIImagePickerController.InfoKey.originalImage] as? UIImage else { return }
-      PDFManager.createPDFDocument(from: image, localFileManager: self.localFileManager)
-      self.fetchViewModels()
+    /// Your delegate object’s implementation of this method should pass the specified media on to any custom code that needs it, and should then dismiss the picker view.
+    /// When editing is enabled, the image picker view presents the user with a preview of the currently selected image or movie along with controls for modifying it.
+    /// (This behavior is managed by the picker view prior to calling this method.) If the user modifies the image or movie, the editing information is available in the info parameter.
+    /// The original image is also returned in the info parameter.
+    func imagePickerController(_ picker: UIImagePickerController,
+                               didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
+        picker.dismiss(animated: true) { [weak self] in
+            guard let self = self else { return }
+            guard let image = info[UserDefaults.standard.isPhotoEditigOn ? UIImagePickerController.InfoKey.editedImage : UIImagePickerController.InfoKey.originalImage] as? UIImage else { return }
+            PDFManager.createPDFDocument(from: image, localFileManager: self.localFileManager)
+            self.fetchViewModels()
+        }
     }
-  }
 }
 
 extension DocumentsTableViewController: ImageScannerControllerDelegate {
@@ -297,7 +291,7 @@ extension DocumentsTableViewController: ImageScannerControllerDelegate {
         
         PDFManager.createMultiPDFPage(from: images, localFileManager: localFileManager) {
             scanner.dismiss(animated: true) {
-              self.fetchViewModels()
+                self.fetchViewModels()
             }
         }
     }
@@ -308,16 +302,16 @@ extension DocumentsTableViewController: ImageScannerControllerDelegate {
     
     func imageScannerController(_ scanner: ImageScannerController, didFailWithError error: Error) {
         scanner.dismiss(animated: true)
-
-    }
-  
-  @objc func textFieldDidChange(_ textField: UITextField) {
-    guard let text = textField.text, let renameFileName = renameFileName,
-          renameFileName != text, !text.trimmingCharacters(in: .whitespaces).isEmpty else {
-      renameAlertController?.actions.first?.isEnabled = false
-      return
+        
     }
     
-    renameAlertController?.actions.first?.isEnabled = true
-  }
+    @objc func textFieldDidChange(_ textField: UITextField) {
+        guard let text = textField.text, let renameFileName = renameFileName,
+              renameFileName != text, !text.trimmingCharacters(in: .whitespaces).isEmpty else {
+            renameAlertController?.actions.first?.isEnabled = false
+            return
+        }
+        
+        renameAlertController?.actions.first?.isEnabled = true
+    }
 }
diff --git a/MiniScanner/Modules/Settings/SettingsViewController.swift b/MiniScanner/Modules/Settings/SettingsViewController.swift
index e72636a71a074dca55872ccc77be2de51939b5e4..58fbb4bf30d5943f1d007ee7177e419d8511de99 100644
--- a/MiniScanner/Modules/Settings/SettingsViewController.swift
+++ b/MiniScanner/Modules/Settings/SettingsViewController.swift
@@ -12,7 +12,6 @@ final class SettingsViewController: UITableViewController {
   }
   
   private func setupViewModels() {
-    title = "Settings".localized
     navigationController?.navigationBar.prefersLargeTitles = true
     
     let isPhotoEditing = { isEditing in
diff --git a/MiniScanner/Supporting Files/.DS_Store b/MiniScanner/Supporting Files/.DS_Store
index 5ff795e3c7f8991889736e7530732e705f9ab327..280fde470002ef4f1c64823aae72cc256184d207 100644
Binary files a/MiniScanner/Supporting Files/.DS_Store and b/MiniScanner/Supporting Files/.DS_Store differ
diff --git a/MiniScanner/Supporting Files/AppDelegate.swift b/MiniScanner/Supporting Files/AppDelegate.swift
index 1e90e340a6c401469025a7638376c17fa37397a9..5424a5c792ddd84e39e917dfcc5a73816bf5e607 100644
--- a/MiniScanner/Supporting Files/AppDelegate.swift	
+++ b/MiniScanner/Supporting Files/AppDelegate.swift	
@@ -35,6 +35,7 @@ struct AppConfigurator {
   }
   
   static let DocumentsFolderName = "ScannerApp"
+    static let BatchesFolderName = "Batches"
   static let ThumbnailsFolderName = ".ThumbnailImages"
 }
 
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/.DS_Store b/MiniScanner/Supporting Files/Assets.xcassets/.DS_Store
index 67f5aa0da73f72af29c38ff85df48dd76521ff5c..789ef3a6a38ca46bc4afd7c1809c6b73232efcd8 100644
Binary files a/MiniScanner/Supporting Files/Assets.xcassets/.DS_Store and b/MiniScanner/Supporting Files/Assets.xcassets/.DS_Store differ
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/Files.imageset/Contents.json b/MiniScanner/Supporting Files/Assets.xcassets/Files.imageset/Contents.json
new file mode 100644
index 0000000000000000000000000000000000000000..259abfd8c0dc405ddff16e489569c9f17ccd8455
--- /dev/null
+++ b/MiniScanner/Supporting Files/Assets.xcassets/Files.imageset/Contents.json	
@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "library_svgrepo.com.svg",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/Files.imageset/library_svgrepo.com.svg b/MiniScanner/Supporting Files/Assets.xcassets/Files.imageset/library_svgrepo.com.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b234767f7d5a687bfe13382a141294aa03dab3ad
--- /dev/null
+++ b/MiniScanner/Supporting Files/Assets.xcassets/Files.imageset/library_svgrepo.com.svg	
@@ -0,0 +1,9 @@
+<svg width="46" height="47" viewBox="0 0 46 47" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M16.6221 14.9556H29.3779C35.8463 14.9556 39.0805 14.9556 40.8973 16.847C42.7139 18.7384 42.2865 21.6607 41.4317 27.505L40.6209 33.0472C39.9505 37.6303 39.6154 39.9219 37.8958 41.2942C36.1762 42.6666 33.6398 42.6666 28.5672 42.6666H17.4328C12.3603 42.6666 9.82397 42.6666 8.10436 41.2942C6.38475 39.9219 6.04954 37.6303 5.37913 33.0472L4.56844 27.505C3.71354 21.6607 3.28611 18.7384 5.10282 16.847C6.91953 14.9556 10.1537 14.9556 16.6221 14.9556ZM15.3334 35.0003C15.3334 34.2064 16.0485 33.5628 16.9306 33.5628H29.0695C29.9516 33.5628 30.6667 34.2064 30.6667 35.0003C30.6667 35.7942 29.9516 36.4378 29.0695 36.4378H16.9306C16.0485 36.4378 15.3334 35.7942 15.3334 35.0003Z" fill="#222222"/>
+<g opacity="0.4">
+<path d="M16.3109 4.33327H29.6894C30.135 4.33315 30.4767 4.33307 30.7753 4.36228C32.8986 4.56999 34.6365 5.84661 35.3736 7.56624H10.6268C11.3638 5.84661 13.1018 4.56999 15.2251 4.36228C15.5237 4.33307 15.8653 4.33315 16.3109 4.33327Z" fill="#222222"/>
+</g>
+<g opacity="0.7">
+<path d="M12.0955 9.55176C9.43014 9.55176 7.24463 11.1613 6.51528 13.2965C6.50008 13.341 6.48551 13.3858 6.47156 13.4307C7.23468 13.1996 8.02889 13.0487 8.83287 12.9456C10.9036 12.6801 13.5205 12.6803 16.5604 12.6804H16.7874H29.7703C32.8101 12.6803 35.4271 12.6801 37.4977 12.9456C38.3017 13.0487 39.096 13.1996 39.859 13.4307C39.845 13.3858 39.8305 13.341 39.8153 13.2965C39.086 11.1613 36.9004 9.55176 34.2351 9.55176H12.0955Z" fill="#222222"/>
+</g>
+</svg>
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/Gallery.imageset/Contents.json b/MiniScanner/Supporting Files/Assets.xcassets/Gallery.imageset/Contents.json
new file mode 100644
index 0000000000000000000000000000000000000000..4ce817713398910b7e5861746d22dbfb374a8810
--- /dev/null
+++ b/MiniScanner/Supporting Files/Assets.xcassets/Gallery.imageset/Contents.json	
@@ -0,0 +1,21 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "gallery_svgrepo.com.svg",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/Gallery.imageset/gallery_svgrepo.com.svg b/MiniScanner/Supporting Files/Assets.xcassets/Gallery.imageset/gallery_svgrepo.com.svg
new file mode 100644
index 0000000000000000000000000000000000000000..80747230fdfdfe338fb048e5fc29b5105108424f
--- /dev/null
+++ b/MiniScanner/Supporting Files/Assets.xcassets/Gallery.imageset/gallery_svgrepo.com.svg	
@@ -0,0 +1,5 @@
+<svg width="35" height="34" viewBox="0 0 35 34" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M23.3333 13.5833C24.9441 13.5833 26.25 12.2775 26.25 10.6667C26.25 9.05584 24.9441 7.75 23.3333 7.75C21.7225 7.75 20.4166 9.05584 20.4166 10.6667C20.4166 12.2775 21.7225 13.5833 23.3333 13.5833Z" stroke="#222222" stroke-width="3"/>
+<path d="M2.91663 17.2292L5.47103 14.9942C6.79996 13.8314 8.80287 13.8981 10.0515 15.1467L16.3073 21.4025C17.3095 22.4048 18.8871 22.5415 20.0468 21.7264L20.4817 21.4209C22.1503 20.2481 24.4079 20.384 25.924 21.7484L30.625 25.9792" stroke="#222222" stroke-width="3" stroke-linecap="round"/>
+<path d="M32.0833 16.5001C32.0833 23.3747 32.0833 26.8121 29.9476 28.9477C27.812 31.0834 24.3745 31.0834 17.5 31.0834C10.6253 31.0834 7.18798 31.0834 5.05231 28.9477C2.91663 26.8121 2.91663 23.3747 2.91663 16.5001C2.91663 9.62542 2.91663 6.1881 5.05231 4.05243C7.18798 1.91675 10.6253 1.91675 17.5 1.91675C24.3745 1.91675 27.812 1.91675 29.9476 4.05243C31.3677 5.47247 31.8435 7.46797 32.0029 10.6667" stroke="#222222" stroke-width="3" stroke-linecap="round"/>
+</svg>
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/Capture.svg b/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/Capture.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b3a877ea6178f45e00ec73ac4291e690b12b2def
--- /dev/null
+++ b/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/Capture.svg	
@@ -0,0 +1,25 @@
+<svg width="116" height="115" viewBox="0 0 116 115" fill="none" xmlns="http://www.w3.org/2000/svg">
+<ellipse cx="58" cy="57.5" rx="38" ry="37.5" fill="#1F86FF"/>
+<g clip-path="url(#clip0_206_988)">
+<g clip-path="url(#clip1_206_988)">
+<mask id="mask0_206_988" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="31" y="33" width="52" height="51">
+<path d="M83 33H31V84H83V33Z" fill="white"/>
+</mask>
+<g mask="url(#mask0_206_988)">
+<path d="M74.3335 58.5H39.6669" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M65.667 41.4995H70.0003C72.3936 41.4995 74.3337 43.4023 74.3337 45.7495V49.9995" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M48.3335 75.4996H44.0002C41.607 75.4996 39.6669 73.5966 39.6669 71.2496V66.9996" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M74.3337 66.9996V71.2496C74.3337 73.5967 72.3936 75.4996 70.0003 75.4996H65.667" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+<path d="M39.6669 49.9995V45.7495C39.6669 43.4023 41.607 41.4995 44.0002 41.4995H48.3335" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
+</g>
+</g>
+</g>
+<defs>
+<clipPath id="clip0_206_988">
+<rect width="52" height="51" fill="white" transform="matrix(-1 0 0 1 83 33)"/>
+</clipPath>
+<clipPath id="clip1_206_988">
+<rect width="52" height="51" fill="white" transform="translate(31 33)"/>
+</clipPath>
+</defs>
+</svg>
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/Contents.json b/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/Contents.json
index b6eb40319242b176733784f14a957b53e6cd80e0..bf685c2fb494193205932a621c714b1cfd3da70b 100644
--- a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/Contents.json	
+++ b/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/Contents.json	
@@ -1,17 +1,15 @@
 {
   "images" : [
     {
-      "filename" : "ui_listview_scan_atlantis98x99.png",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "ui_listview_scan_atlantis98x99@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "ui_listview_scan_atlantis98x99@3x.png",
+      "filename" : "Capture.svg",
       "idiom" : "universal",
       "scale" : "3x"
     }
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99.png b/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99.png
deleted file mode 100644
index dac95011afb5de6ce093f4b648d1ab98049eda50..0000000000000000000000000000000000000000
Binary files a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99.png and /dev/null differ
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99@2x.png b/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99@2x.png
deleted file mode 100644
index 4b4f9f04389854b0b2bdc81f524b4c9d7bf3f56a..0000000000000000000000000000000000000000
Binary files a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99@2x.png and /dev/null differ
diff --git a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99@3x.png b/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99@3x.png
deleted file mode 100644
index 6bff4b5256a5126522dcf588bc7c40aed8230fbe..0000000000000000000000000000000000000000
Binary files a/MiniScanner/Supporting Files/Assets.xcassets/add_doc_icon.imageset/ui_listview_scan_atlantis98x99@3x.png and /dev/null differ
diff --git a/MiniScanner/Supporting Files/CustomWeScan/.DS_Store b/MiniScanner/Supporting Files/CustomWeScan/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..49aee1f0e91a8bbc89e1cc8bc300acdefa17b294
Binary files /dev/null and b/MiniScanner/Supporting Files/CustomWeScan/.DS_Store differ
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/enhance.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/enhance.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/enhance.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/enhance.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/enhance@2x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/enhance@2x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/enhance@2x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/enhance@2x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/enhance@3x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/enhance@3x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/enhance@3x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/enhance@3x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/flash.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/flash.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/flash.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/flash.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/flash@2x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/flash@2x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/flash@2x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/flash@2x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/flash@3x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/flash@3x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/flash@3x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/flash@3x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/flashUnavailable.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/flashUnavailable.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/flashUnavailable.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/flashUnavailable.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/flashUnavailable@2x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/flashUnavailable@2x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/flashUnavailable@2x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/flashUnavailable@2x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/flashUnavailable@3x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/flashUnavailable@3x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/flashUnavailable@3x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/flashUnavailable@3x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/rotate.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/rotate.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/rotate.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/rotate.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/rotate@2x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/rotate@2x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/rotate@2x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/rotate@2x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Assets/rotate@3x.png b/MiniScanner/Supporting Files/CustomWeScan/Assets/rotate@3x.png
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Assets/rotate@3x.png
rename to MiniScanner/Supporting Files/CustomWeScan/Assets/rotate@3x.png
diff --git a/MiniScanner/Supporting Files/WeScan/Common/CIRectangleDetector.swift b/MiniScanner/Supporting Files/CustomWeScan/Common/CIRectangleDetector.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Common/CIRectangleDetector.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Common/CIRectangleDetector.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Common/EditScanCornerView.swift b/MiniScanner/Supporting Files/CustomWeScan/Common/EditScanCornerView.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Common/EditScanCornerView.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Common/EditScanCornerView.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Common/Error.swift b/MiniScanner/Supporting Files/CustomWeScan/Common/Error.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Common/Error.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Common/Error.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Common/Quadrilateral.swift b/MiniScanner/Supporting Files/CustomWeScan/Common/Quadrilateral.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Common/Quadrilateral.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Common/Quadrilateral.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Common/QuadrilateralView.swift b/MiniScanner/Supporting Files/CustomWeScan/Common/QuadrilateralView.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Common/QuadrilateralView.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Common/QuadrilateralView.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Common/VisionRectangleDetector.swift b/MiniScanner/Supporting Files/CustomWeScan/Common/VisionRectangleDetector.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Common/VisionRectangleDetector.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Common/VisionRectangleDetector.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Edit/EditScanViewController.swift b/MiniScanner/Supporting Files/CustomWeScan/Edit/EditScanViewController.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Edit/EditScanViewController.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Edit/EditScanViewController.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Edit/ZoomGestureController.swift b/MiniScanner/Supporting Files/CustomWeScan/Edit/ZoomGestureController.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Edit/ZoomGestureController.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Edit/ZoomGestureController.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/AVCaptureVideoOrientation+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/AVCaptureVideoOrientation+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/AVCaptureVideoOrientation+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/AVCaptureVideoOrientation+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/Array+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/Array+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/Array+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/Array+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/CGAffineTransform+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/CGAffineTransform+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/CGAffineTransform+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/CGAffineTransform+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/CGPoint+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/CGPoint+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/CGPoint+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/CGPoint+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/CGRect+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/CGRect+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/CGRect+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/CGRect+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/CIImage+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/CIImage+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/CIImage+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/CIImage+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/UIImage+Orientation.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/UIImage+Orientation.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/UIImage+Orientation.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/UIImage+Orientation.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/UIImage+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/UIImage+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/UIImage+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/UIImage+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Extensions/URL+Utils.swift b/MiniScanner/Supporting Files/CustomWeScan/Extensions/URL+Utils.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Extensions/URL+Utils.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Extensions/URL+Utils.swift
diff --git a/MiniScanner/Supporting Files/WeScan/ImageScannerController.swift b/MiniScanner/Supporting Files/CustomWeScan/ImageScannerController.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/ImageScannerController.swift
rename to MiniScanner/Supporting Files/CustomWeScan/ImageScannerController.swift
diff --git a/MiniScanner/Supporting Files/WeScan/MultiPageSession/MultiPageScanSession.swift b/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/MultiPageSession/MultiPageScanSession.swift
rename to MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSession.swift
diff --git a/MiniScanner/Supporting Files/WeScan/MultiPageSession/MultiPageScanSessionViewController.swift b/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSessionViewController.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/MultiPageSession/MultiPageScanSessionViewController.swift
rename to MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/MultiPageScanSessionViewController.swift
diff --git a/MiniScanner/Supporting Files/WeScan/MultiPageSession/ScannedPageViewController.swift b/MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/ScannedPageViewController.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/MultiPageSession/ScannedPageViewController.swift
rename to MiniScanner/Supporting Files/CustomWeScan/MultiPageSession/ScannedPageViewController.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Protocols/CaptureDevice.swift b/MiniScanner/Supporting Files/CustomWeScan/Protocols/CaptureDevice.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Protocols/CaptureDevice.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Protocols/CaptureDevice.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Protocols/Transformable.swift b/MiniScanner/Supporting Files/CustomWeScan/Protocols/Transformable.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Protocols/Transformable.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Protocols/Transformable.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/CaptureSessionManager.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/CaptureSessionManager.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/CaptureSessionManager.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/CaptureSessionManager.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/DeviceOrientationHelper.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/DeviceOrientationHelper.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/DeviceOrientationHelper.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/DeviceOrientationHelper.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/FocusRectangleView.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/FocusRectangleView.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/FocusRectangleView.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/FocusRectangleView.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/PDFCreator.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/PDFCreator.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/PDFCreator.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/PDFCreator.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/RectangleFeaturesFunnel.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/RectangleFeaturesFunnel.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/RectangleFeaturesFunnel.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/RectangleFeaturesFunnel.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/ScannedItemRenderer.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/ScannedItemRenderer.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/ScannedItemRenderer.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/ScannedItemRenderer.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/ScannerViewController.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/ScannerViewController.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/ScannerViewController.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/ScannerViewController.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Scan/ShutterButton.swift b/MiniScanner/Supporting Files/CustomWeScan/Scan/ShutterButton.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Scan/ShutterButton.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Scan/ShutterButton.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Session/CaptureSession+Flash.swift b/MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession+Flash.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Session/CaptureSession+Flash.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession+Flash.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Session/CaptureSession+Focus.swift b/MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession+Focus.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Session/CaptureSession+Focus.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession+Focus.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Session/CaptureSession+Orientation.swift b/MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession+Orientation.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Session/CaptureSession+Orientation.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession+Orientation.swift
diff --git a/MiniScanner/Supporting Files/WeScan/Session/CaptureSession.swift b/MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession.swift
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/Session/CaptureSession.swift
rename to MiniScanner/Supporting Files/CustomWeScan/Session/CaptureSession.swift
diff --git a/MiniScanner/Supporting Files/WeScan/WeScan.h b/MiniScanner/Supporting Files/CustomWeScan/WeScan.h
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/WeScan.h
rename to MiniScanner/Supporting Files/CustomWeScan/WeScan.h
diff --git a/MiniScanner/Supporting Files/WeScan/de.lproj/Localizable.strings b/MiniScanner/Supporting Files/CustomWeScan/de.lproj/Localizable.strings
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/de.lproj/Localizable.strings
rename to MiniScanner/Supporting Files/CustomWeScan/de.lproj/Localizable.strings
diff --git a/MiniScanner/Supporting Files/WeScan/en.lproj/Localizable.strings b/MiniScanner/Supporting Files/CustomWeScan/en.lproj/Localizable.strings
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/en.lproj/Localizable.strings
rename to MiniScanner/Supporting Files/CustomWeScan/en.lproj/Localizable.strings
diff --git a/MiniScanner/Supporting Files/WeScan/fr.lproj/Localizable.strings b/MiniScanner/Supporting Files/CustomWeScan/fr.lproj/Localizable.strings
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/fr.lproj/Localizable.strings
rename to MiniScanner/Supporting Files/CustomWeScan/fr.lproj/Localizable.strings
diff --git a/MiniScanner/Supporting Files/WeScan/it.lproj/Localizable.strings b/MiniScanner/Supporting Files/CustomWeScan/it.lproj/Localizable.strings
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/it.lproj/Localizable.strings
rename to MiniScanner/Supporting Files/CustomWeScan/it.lproj/Localizable.strings
diff --git a/MiniScanner/Supporting Files/WeScan/pt-PT.lproj/Localizable.strings b/MiniScanner/Supporting Files/CustomWeScan/pt-PT.lproj/Localizable.strings
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/pt-PT.lproj/Localizable.strings
rename to MiniScanner/Supporting Files/CustomWeScan/pt-PT.lproj/Localizable.strings
diff --git a/MiniScanner/Supporting Files/WeScan/zh-Hans.lproj/Localizable.strings b/MiniScanner/Supporting Files/CustomWeScan/zh-Hans.lproj/Localizable.strings
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/zh-Hans.lproj/Localizable.strings
rename to MiniScanner/Supporting Files/CustomWeScan/zh-Hans.lproj/Localizable.strings
diff --git a/MiniScanner/Supporting Files/WeScan/zh-Hant.lproj/Localizable.strings b/MiniScanner/Supporting Files/CustomWeScan/zh-Hant.lproj/Localizable.strings
similarity index 100%
rename from MiniScanner/Supporting Files/WeScan/zh-Hant.lproj/Localizable.strings
rename to MiniScanner/Supporting Files/CustomWeScan/zh-Hant.lproj/Localizable.strings
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Black.ttf b/MiniScanner/Supporting Files/Fonts/Tajawal-Black.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..bf86d5ee5dbee9822852b192c2b47150b5e36a5a
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/Tajawal-Black.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Bold.ttf b/MiniScanner/Supporting Files/Fonts/Tajawal-Bold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..706526a97cb032af29c43237c9d2a6b554edb2da
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/Tajawal-Bold.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraBold.ttf b/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraBold.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..f3aa896861fac05d5538d7880ceac5d867ee9c6e
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraBold.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraLight.ttf b/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraLight.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..801c8c1e0bf19c45ae77e843c5fd1a59442bf1b0
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/Tajawal-ExtraLight.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Light.ttf b/MiniScanner/Supporting Files/Fonts/Tajawal-Light.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..1e9896c5797733ab41598637f9ac3b5a1a66bffa
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/Tajawal-Light.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Medium.ttf b/MiniScanner/Supporting Files/Fonts/Tajawal-Medium.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..79fc885559c36b28c46551ae81ebbd590d0ff4f2
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/Tajawal-Medium.ttf differ
diff --git a/MiniScanner/Supporting Files/Fonts/Tajawal-Regular.ttf b/MiniScanner/Supporting Files/Fonts/Tajawal-Regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..a6d0e10247858c69fb119d7131da9519a2021f72
Binary files /dev/null and b/MiniScanner/Supporting Files/Fonts/Tajawal-Regular.ttf differ
diff --git a/MiniScanner/Supporting Files/Info.plist b/MiniScanner/Supporting Files/Info.plist
index 41d7cee8557cf194219c0e147fcbd952b27564d8..a8a4dbc9b774d6d48f3d1a326594526abb568a21 100644
--- a/MiniScanner/Supporting Files/Info.plist	
+++ b/MiniScanner/Supporting Files/Info.plist	
@@ -67,5 +67,15 @@
 		<string>UIInterfaceOrientationLandscapeLeft</string>
 		<string>UIInterfaceOrientationLandscapeRight</string>
 	</array>
+	<key>UIAppFonts</key>
+	<array>
+		<string>Tajawal-ExtraBold.ttf</string>
+        <string>Tajawal-Light.ttf</string>
+        <string>Tajawal-Bold.ttf</string>
+        <string>Tajawal-ExtraLight.ttf</string>
+        <string>Tajawal-Regular.ttf</string>
+        <string>Tajawal-Medium.ttf</string>
+        <string>Tajawal-Black.ttf</string>
+	</array>
 </dict>
 </plist>