diff --git a/semantic_router/indices/base.py b/semantic_router/indices/base.py
index f5c3e8d6193c33551cf21dc914b65690f80d24d2..bfaa903e760e099a043ae01387ed09021d6064dd 100644
--- a/semantic_router/indices/base.py
+++ b/semantic_router/indices/base.py
@@ -1,5 +1,4 @@
 from pydantic.v1 import BaseModel
 
 class BaseIndex(BaseModel):
-
     pass
\ No newline at end of file
diff --git a/semantic_router/indices/local_index.py b/semantic_router/indices/local_index.py
index eef81b910434b0f48bb9f7c0f6ae210ecb0b06c4..eb5d63ef19ed17405fd324a7236e8ba03abfc035 100644
--- a/semantic_router/indices/local_index.py
+++ b/semantic_router/indices/local_index.py
@@ -1,11 +1,11 @@
 import numpy as np
 from typing import List, Any
 from semantic_router.linear import similarity_matrix, top_scores
-from pydantic import BaseModel
+from semantic_router.indices.base import BaseIndex
 import numpy as np
 from typing import List, Any, Tuple, Optional
 
-class LocalIndex(BaseModel):
+class LocalIndex(BaseIndex):
     index: Optional[np.ndarray] = None
 
     class Config: # Stop pydantic from complaining about  Optional[np.ndarray] type hints.
diff --git a/semantic_router/layer.py b/semantic_router/layer.py
index ff1168f2ed9cd2c26a790f6463cc725384d198bf..8b7c485de9844dd0ab9b25a78fccbaac29280aba 100644
--- a/semantic_router/layer.py
+++ b/semantic_router/layer.py
@@ -164,10 +164,10 @@ class RouteLayer:
         encoder: Optional[BaseEncoder] = None,
         llm: Optional[BaseLLM] = None,
         routes: Optional[List[Route]] = None,
-        index_name: Optional[str] = None,
+        index_name: Optional[str] = "local",
     ):
         logger.info("local")
-        self.index = Index.get_by_name(index_name="local")
+        self.index = Index.get_by_name(index_name=index_name)
         self.categories = None
         if encoder is None:
             logger.warning(