diff --git a/scripts/readfru.mako.cpp b/scripts/readfru.mako.cpp
index 061b4e0..57265be 100644
--- a/scripts/readfru.mako.cpp
+++ b/scripts/readfru.mako.cpp
@@ -6,17 +6,22 @@
 % for key in fruDict.keys():
    {${key},{
 <%
-    fru = fruDict[key]
+    instanceList = fruDict[key]
 %>
-    % for object,interfaces in fru.items():
-         {"${object}",{
+    % for instancePath,instanceInfo in instanceList.items():
+<%
+        entityID = instanceInfo["entityID"]
+        entityInstance = instanceInfo["entityInstance"]
+        interfaces = instanceInfo["interfaces"]
+%>
+         {${entityID}, ${entityInstance}, "${instancePath}",{
          % for interface,properties in interfaces.items():
              {"${interface}",{
             % if properties:
                 % for dbus_property,property_value in properties.items():
                     {"${dbus_property}",{
                         "${property_value.get("IPMIFruSection", "")}",
-                        "${property_value.get("IPMIFruProperty", "")}", \
+                        "${property_value.get("IPMIFruProperty", "")}",\
 <%
     delimiter = property_value.get("IPMIFruValueDelimiter")
     if not delimiter:
