diff --git a/namespace.cabal b/namespace.cabal
--- a/namespace.cabal
+++ b/namespace.cabal
@@ -1,5 +1,5 @@
 name:                namespace
-version:             0.1.2.0
+version:             0.1.2.1
 synopsis:            A Generic Haskell library for managing namespaces
 description:         Please see README.md
 homepage:            https://github.com/xu-hao/namespace
diff --git a/src/Data/Namespace/Namespace.hs b/src/Data/Namespace/Namespace.hs
--- a/src/Data/Namespace/Namespace.hs
+++ b/src/Data/Namespace/Namespace.hs
@@ -46,7 +46,7 @@
 concatKey key = mapKeys (act (NamespacePath [key]))
 
 pathKey :: Key k => Map k a -> Map (ObjectPath k) a
-pathKey = mapKeys (ObjectPath (NamespacePath []))
+pathKey = mapKeys (\ObjectPath (NamespacePath []) key) o m ) mempty
 
 allObjects :: Key k => Namespace k a -> Map (ObjectPath k) a
 allObjects ns = pathKey (topLevelObjects ns) <> mconcat (elems (mapWithKey (\key ns2 -> concatKey key (allObjects ns2)) (topLevelNamespaces ns)))
@@ -62,7 +62,7 @@
 insertNamespace (NamespacePath []) om (Namespace nm2 om2) = Namespace nm2 (om <> om2)
 insertNamespace (NamespacePath (k : ks)) om (Namespace nm2 om2) =
   let nm3 = fromMaybe mempty (lookup k nm2)
-      nm3' = insertNamespace (NamespacePath ks) om nm3' in
+      nm3' = insertNamespace (NamespacePath ks) om nm3 in
       Namespace (insert k nm3' nm2) om
 
 importAllFromNamespace :: Key k => NamespacePath k -> Namespace k a -> Namespace k a -> Maybe (Namespace k a)
