diff --git a/pyinventorymgr/inventory_items.py b/pyinventorymgr/inventory_items.py
index 94d8f96..254cd9e 100644
--- a/pyinventorymgr/inventory_items.py
+++ b/pyinventorymgr/inventory_items.py
@@ -99,7 +99,8 @@
             pass
 
     for f in FRUS.keys():
-        obj_path = f.replace("<inventory_root>", System.INVENTORY_ROOT)
+        import obmc.inventory
+        obj_path = f.replace("<inventory_root>", obmc.inventory.INVENTORY_ROOT)
         obj = InventoryItem(bus, obj_path, FRUS[f])
         obj_parent.add(obj_path, obj)
 
diff --git a/pyinventorymgr/obmc/inventory/__init__.py b/pyinventorymgr/obmc/inventory/__init__.py
new file mode 100644
index 0000000..e9a1f83
--- /dev/null
+++ b/pyinventorymgr/obmc/inventory/__init__.py
@@ -0,0 +1 @@
+INVENTORY_ROOT = '/org/openbmc/inventory'
diff --git a/pyinventorymgr/setup.py b/pyinventorymgr/setup.py
index 07e48b4..da85d61 100644
--- a/pyinventorymgr/setup.py
+++ b/pyinventorymgr/setup.py
@@ -2,5 +2,6 @@
 
 setup(name='pyinventorymgr',
       version='1.0',
+      packages=['obmc.inventory'],
       scripts=['inventory_items.py', 'sync_inventory_items.py'],
       )
diff --git a/pyinventorymgr/sync_inventory_items.py b/pyinventorymgr/sync_inventory_items.py
index fff0870..72852a5 100644
--- a/pyinventorymgr/sync_inventory_items.py
+++ b/pyinventorymgr/sync_inventory_items.py
@@ -42,8 +42,9 @@
 def get_inv_obj_path(fru_type, fru_name):
     obj_path = ''
     for f in FRUS.keys():
+        import obmc.inventory
         if (FRUS[f]['fru_type'] == fru_type and f.endswith(fru_name)):
-            obj_path = f.replace("<inventory_root>", System.INVENTORY_ROOT)
+            obj_path = f.replace("<inventory_root>", obmc.inventory.INVENTORY_ROOT)
     return obj_path
 
 
