diff --git a/lollms/main_config.py b/lollms/main_config.py
index 1943ca9..0fa6f38 100644
--- a/lollms/main_config.py
+++ b/lollms/main_config.py
@@ -142,17 +142,32 @@ class LOLLMSConfig(BaseConfig):
 
     def searchModelPath(self, model_name:str):
         model_path=None
-        for mn in self.lollms_paths.binding_models_paths:
+        for mn in self.models_folders:
             if mn.name in model_name.lower():
-                model_path = mn/model_name
+                if mn.name == "ggml":
+                    try:
+                        idx = model_name.index("-GGML")
+                        models=[m for m in mn.iterdir() if model_name[:idx].lower() in m.name.lower()]
+                        model_path = mn/models[0].name
+                    except:
+                        model_path = mn/model_name
+                elif mn.name == "gguf":
+                    try:
+                        idx = model_name.index("-GGUF")
+                        models=[m for m in mn.iterdir() if model_name[:idx].lower() in m.name.lower()]
+                        model_path = mn/models[0].name
+                    except:
+                        model_path = mn/model_name
+                else:
+                    model_path = mn/model_name
                 break
         if model_path is None:
-            model_path = self.lollms_paths.binding_models_paths[0]/model_name
+            model_path = self.models_folders[0]/model_name
         return model_path
     
     def download_model(self, url, binding, callback = None):
         model_name  = url.split("/")[-1]
-        folder_path = self.searchModelPath(model_name)
+        folder_path = binding.searchModelPath(model_name)
         model_full_path = (folder_path / model_name)
         if binding is not None and hasattr(binding,'download_model'):
             binding.download_model(url, model_full_path, callback)