diff --git a/include/cpu.hpp b/include/cpu.hpp
index 6328393..bae8dc0 100644
--- a/include/cpu.hpp
+++ b/include/cpu.hpp
@@ -129,10 +129,11 @@
                                     Item, association>(bus, objPath.c_str()),
         cpuNum(cpuId), storage(smbiosTableStorage), motherboardPath(motherboard)
     {
-        infoUpdate();
+        infoUpdate(smbiosTableStorage, motherboard);
     }
 
-    void infoUpdate(void);
+    void infoUpdate(uint8_t* smbiosTableStorage,
+                    const std::string& motherboard);
 
   private:
     uint8_t cpuNum;
diff --git a/include/dimm.hpp b/include/dimm.hpp
index dbeb053..1ea406a 100644
--- a/include/dimm.hpp
+++ b/include/dimm.hpp
@@ -86,13 +86,13 @@
         sdbusplus::server::object_t<sdbusplus::server::xyz::openbmc_project::
                                         state::decorator::OperationalStatus>(
             bus, objPath.c_str()),
-        dimmNum(dimmId), storage(smbiosTableStorage),
-        motherboardPath(motherboard)
+        dimmNum(dimmId)
     {
-        memoryInfoUpdate();
+        memoryInfoUpdate(smbiosTableStorage, motherboard);
     }
 
-    void memoryInfoUpdate(void);
+    void memoryInfoUpdate(uint8_t* smbiosTableStorage,
+                          const std::string& motherboard);
 
     uint16_t memoryDataWidth(uint16_t value) override;
     size_t memorySizeInKB(size_t value) override;
diff --git a/include/pcieslot.hpp b/include/pcieslot.hpp
index f984650..ccedcb9 100644
--- a/include/pcieslot.hpp
+++ b/include/pcieslot.hpp
@@ -47,13 +47,13 @@
          const std::string& motherboard) :
         sdbusplus::server::object_t<PCIeSlot, location, embedded, item,
                                     association>(bus, objPath.c_str()),
-        pcieNum(pcieId), storage(smbiosTableStorage),
-        motherboardPath(motherboard)
+        pcieNum(pcieId)
     {
-        pcieInfoUpdate();
+        pcieInfoUpdate(smbiosTableStorage, motherboard);
     }
 
-    void pcieInfoUpdate();
+    void pcieInfoUpdate(uint8_t* smbiosTableStorage,
+                        const std::string& motherboard);
 
   private:
     uint8_t pcieNum;
