diff --git a/MiniScanner.xcodeproj/project.pbxproj b/MiniScanner.xcodeproj/project.pbxproj
index 72c2b102dc6507d973ba95b6920d30beb0d300b5..a0ce3213358622c2b726298ef3ad02513a6cc9a0 100644
--- a/MiniScanner.xcodeproj/project.pbxproj
+++ b/MiniScanner.xcodeproj/project.pbxproj
@@ -178,6 +178,7 @@
 		672C46682C47C75100497EF0 /* Clear.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C46672C47C75100497EF0 /* Clear.swift */; };
 		672C468F2C47CB2000497EF0 /* UserDefaultsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C468E2C47CB2000497EF0 /* UserDefaultsManager.swift */; };
 		672C46912C47CB5D00497EF0 /* UserDefaultsKeys.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C46902C47CB5D00497EF0 /* UserDefaultsKeys.swift */; };
+		672C46B32C47E8D700497EF0 /* DependencyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 672C46A52C47E8D700497EF0 /* DependencyManager.swift */; };
 		B827E5196CC419E773B843E1 /* Pods_MiniScanner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9A37DC9F9A8E3AF632DFB98 /* Pods_MiniScanner.framework */; };
 		EC0CF1FE254D8BBF00888722 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FD254D8BBF00888722 /* AppDelegate.swift */; };
 		EC0CF200254D8BBF00888722 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0CF1FF254D8BBF00888722 /* SceneDelegate.swift */; };
@@ -406,6 +407,7 @@
 		672C46672C47C75100497EF0 /* Clear.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Clear.swift; sourceTree = "<group>"; };
 		672C468E2C47CB2000497EF0 /* UserDefaultsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsManager.swift; sourceTree = "<group>"; };
 		672C46902C47CB5D00497EF0 /* UserDefaultsKeys.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaultsKeys.swift; sourceTree = "<group>"; };
+		672C46A52C47E8D700497EF0 /* DependencyManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DependencyManager.swift; sourceTree = "<group>"; };
 		E8AF4FB39674DF589D719DCF /* Pods-MiniScanner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MiniScanner.release.xcconfig"; path = "Target Support Files/Pods-MiniScanner/Pods-MiniScanner.release.xcconfig"; sourceTree = "<group>"; };
 		E9A37DC9F9A8E3AF632DFB98 /* Pods_MiniScanner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_MiniScanner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
 		EC0CF1FA254D8BBF00888722 /* MiniScanner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MiniScanner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -954,6 +956,30 @@
 			path = UserDefaults;
 			sourceTree = "<group>";
 		};
+		672C46A62C47E8D700497EF0 /* DI */ = {
+			isa = PBXGroup;
+			children = (
+				672C46A52C47E8D700497EF0 /* DependencyManager.swift */,
+			);
+			path = DI;
+			sourceTree = "<group>";
+		};
+		672C46AE2C47E8D700497EF0 /* Common */ = {
+			isa = PBXGroup;
+			children = (
+				672C46A62C47E8D700497EF0 /* DI */,
+			);
+			path = Common;
+			sourceTree = "<group>";
+		};
+		672C46AF2C47E8D700497EF0 /* Features */ = {
+			isa = PBXGroup;
+			children = (
+				672C46AE2C47E8D700497EF0 /* Common */,
+			);
+			path = Features;
+			sourceTree = "<group>";
+		};
 		98E49D3F46C8E62718825860 /* Pods */ = {
 			isa = PBXGroup;
 			children = (
@@ -984,6 +1010,7 @@
 		EC0CF1FC254D8BBF00888722 /* MiniScanner */ = {
 			isa = PBXGroup;
 			children = (
+				672C46AF2C47E8D700497EF0 /* Features */,
 				672C46602C47C70F00497EF0 /* DependencyInjection */,
 				EC702548254E1F9F00BE1958 /* Managers */,
 				535983F02C144E79003EB6ED /* Helpers */,
@@ -1364,6 +1391,7 @@
 				53D9D1C22C1AF521004D1C1C /* StickerView.swift in Sources */,
 				539996A22C27130000671340 /* ConstraintDirectionalInsets.swift in Sources */,
 				53E7D3352C1B00880025A1D3 /* FSPagerView.swift in Sources */,
+				672C46B32C47E8D700497EF0 /* DependencyManager.swift in Sources */,
 				53014F912C11A8E80071CE39 /* ShutterButton.swift in Sources */,
 				53F21F8B2C1246AF00172BFC /* AllFolderTableViewCell.swift in Sources */,
 				53014FBD2C11A8E80071CE39 /* CaptureSession+Focus.swift in Sources */,
diff --git a/MiniScanner/Features/Common/DI/DependencyManager.swift b/MiniScanner/Features/Common/DI/DependencyManager.swift
new file mode 100644
index 0000000000000000000000000000000000000000..ee2178667eee952b965628661f2a5a2b7bc28130
--- /dev/null
+++ b/MiniScanner/Features/Common/DI/DependencyManager.swift
@@ -0,0 +1,23 @@
+//
+//  DependencyManager.swift
+//  MiniScanner
+//
+//  Created by Mustafa Merza on 7/17/24.
+//  Copyright © 2024 AppsNectar. All rights reserved.
+//
+
+import Foundation
+
+final class DependencyManager {
+    
+    let userDefaultsManager: UserDefaultsManagerProtocol
+    
+    init() {
+        self.userDefaultsManager = UserDefaultsManager()
+        initializeDependencies()
+    }
+    
+    private func initializeDependencies() {
+        
+    }
+}
diff --git a/MiniScanner/Supporting Files/AppDelegate.swift b/MiniScanner/Supporting Files/AppDelegate.swift
index eda1335b3374049e496bf7f123f093857805f228..41a76942f4fcce19d34b92f65f84b0ca76af9b96 100644
--- a/MiniScanner/Supporting Files/AppDelegate.swift	
+++ b/MiniScanner/Supporting Files/AppDelegate.swift	
@@ -8,6 +8,9 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
   func application(_ application: UIApplication,
                    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
     // Override point for customization after application launch.
+      
+      initializeDependencies()
+      
       ThemeManager.shared.setupTheme()
       if let savedFolders = UserDefaults.standard.object(forKey: "folders") as? Data {
           print("nooo!!")
@@ -129,3 +132,10 @@ extension Bundle {
     return bundleDisplayname ?? bundleName
   }
 }
+
+extension AppDelegate {
+    
+    private func initializeDependencies() {
+        _ = DependencyManager()
+    }
+}