diff --git a/include/cpu.hpp b/include/cpu.hpp
index 276e64a..92616c6 100644
--- a/include/cpu.hpp
+++ b/include/cpu.hpp
@@ -118,9 +118,8 @@
     Cpu& operator=(Cpu&&) = delete;
     ~Cpu() = default;
 
-    Cpu(sdbusplus::bus::bus& bus, const std::string& objPath,
-        const uint8_t& cpuId, uint8_t* smbiosTableStorage,
-        const std::string& motherboard) :
+    Cpu(sdbusplus::bus_t& bus, const std::string& objPath, const uint8_t& cpuId,
+        uint8_t* smbiosTableStorage, const std::string& motherboard) :
         sdbusplus::server::object_t<processor, asset, location, connector, rev,
                                     Item, association>(bus, objPath.c_str()),
         cpuNum(cpuId), storage(smbiosTableStorage), motherboardPath(motherboard)
diff --git a/include/cpuinfo.hpp b/include/cpuinfo.hpp
index ac26c60..e4f4d76 100644
--- a/include/cpuinfo.hpp
+++ b/include/cpuinfo.hpp
@@ -43,7 +43,7 @@
 
 struct CPUInfo : public UniqueIdentifierBase
 {
-    CPUInfo(sdbusplus::bus::bus& bus, const size_t cpuId,
+    CPUInfo(sdbusplus::bus_t& bus, const size_t cpuId,
             const uint8_t peciAddress, const uint8_t i2cBusNum,
             const uint8_t i2cSlaveAddress) :
         // use defer_emit for UniqueIdentifier iface so that ObjectMapper
diff --git a/include/dimm.hpp b/include/dimm.hpp
index 66de5bb..1d1fc18 100644
--- a/include/dimm.hpp
+++ b/include/dimm.hpp
@@ -35,21 +35,20 @@
     sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm::DeviceType;
 
 class Dimm :
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm>,
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Asset>,
-    sdbusplus::server::object::object<
-        sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
-            LocationCode>,
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<sdbusplus::xyz::openbmc_project::Inventory::
+                                    Decorator::server::LocationCode>,
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Inventory::Connector::server::Slot>,
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Inventory::server::Item>,
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Association::server::Definitions>,
-    sdbusplus::server::object::object<sdbusplus::xyz::openbmc_project::State::
-                                          Decorator::server::OperationalStatus>
+    sdbusplus::server::object_t<sdbusplus::xyz::openbmc_project::State::
+                                    Decorator::server::OperationalStatus>
 {
   public:
     Dimm() = delete;
@@ -59,31 +58,31 @@
     Dimm(Dimm&&) = default;
     Dimm& operator=(Dimm&&) = default;
 
-    Dimm(sdbusplus::bus::bus& bus, const std::string& objPath,
+    Dimm(sdbusplus::bus_t& bus, const std::string& objPath,
          const uint8_t& dimmId, uint8_t* smbiosTableStorage,
          const std::string& motherboard) :
 
-        sdbusplus::server::object::object<
+        sdbusplus::server::object_t<
             sdbusplus::xyz::openbmc_project::Inventory::Item::server::Dimm>(
             bus, objPath.c_str()),
-        sdbusplus::server::object::object<
-            sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
-                Asset>(bus, objPath.c_str()),
-        sdbusplus::server::object::object<
-            sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
-                LocationCode>(bus, objPath.c_str()),
-        sdbusplus::server::object::object<
-            sdbusplus::xyz::openbmc_project::Inventory::Connector::server::
-                Slot>(bus, objPath.c_str()),
-        sdbusplus::server::object::object<
+        sdbusplus::server::object_t<sdbusplus::xyz::openbmc_project::Inventory::
+                                        Decorator::server::Asset>(
+            bus, objPath.c_str()),
+        sdbusplus::server::object_t<sdbusplus::xyz::openbmc_project::Inventory::
+                                        Decorator::server::LocationCode>(
+            bus, objPath.c_str()),
+        sdbusplus::server::object_t<sdbusplus::xyz::openbmc_project::Inventory::
+                                        Connector::server::Slot>(
+            bus, objPath.c_str()),
+        sdbusplus::server::object_t<
             sdbusplus::xyz::openbmc_project::Inventory::server::Item>(
             bus, objPath.c_str()),
-        sdbusplus::server::object::object<
+        sdbusplus::server::object_t<
             sdbusplus::xyz::openbmc_project::Association::server::Definitions>(
             bus, objPath.c_str()),
-        sdbusplus::server::object::object<
-            sdbusplus::xyz::openbmc_project::State::Decorator::server::
-                OperationalStatus>(bus, objPath.c_str()),
+        sdbusplus::server::object_t<sdbusplus::xyz::openbmc_project::State::
+                                        Decorator::server::OperationalStatus>(
+            bus, objPath.c_str()),
         dimmNum(dimmId), storage(smbiosTableStorage),
         motherboardPath(motherboard)
     {
diff --git a/include/mdrv2.hpp b/include/mdrv2.hpp
index c7b4655..ddde0ef 100644
--- a/include/mdrv2.hpp
+++ b/include/mdrv2.hpp
@@ -52,7 +52,7 @@
 constexpr const int limitEntryLen = 0xff;
 
 class MDR_V2 :
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Smbios::server::MDR_V2>
 {
   public:
@@ -63,9 +63,9 @@
     MDR_V2& operator=(MDR_V2&&) = delete;
     ~MDR_V2() = default;
 
-    MDR_V2(sdbusplus::bus::bus& bus, const char* path,
+    MDR_V2(sdbusplus::bus_t& bus, const char* path,
            boost::asio::io_context& io) :
-        sdbusplus::server::object::object<
+        sdbusplus::server::object_t<
             sdbusplus::xyz::openbmc_project::Smbios::server::MDR_V2>(bus, path),
         bus(bus), timer(io), smbiosInterface(getObjectServer().add_interface(
                                  smbiosPath, smbiosInterfaceName))
@@ -120,7 +120,7 @@
   private:
     boost::asio::steady_timer timer;
 
-    sdbusplus::bus::bus& bus;
+    sdbusplus::bus_t& bus;
 
     Mdr2DirStruct smbiosDir;
 
diff --git a/include/pcieslot.hpp b/include/pcieslot.hpp
index 7ed083f..d3c9588 100644
--- a/include/pcieslot.hpp
+++ b/include/pcieslot.hpp
@@ -42,7 +42,7 @@
     Pcie& operator=(Pcie&&) = delete;
     ~Pcie() = default;
 
-    Pcie(sdbusplus::bus::bus& bus, const std::string& objPath,
+    Pcie(sdbusplus::bus_t& bus, const std::string& objPath,
          const uint8_t& pcieId, uint8_t* smbiosTableStorage,
          const std::string& motherboard) :
         sdbusplus::server::object_t<PCIeSlot, location, embedded, item,
diff --git a/include/system.hpp b/include/system.hpp
index 79f4eab..091f4cb 100644
--- a/include/system.hpp
+++ b/include/system.hpp
@@ -27,9 +27,9 @@
 {
 
 class System :
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Common::server::UUID>,
-    sdbusplus::server::object::object<
+    sdbusplus::server::object_t<
         sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::Revision>
 {
   public:
@@ -40,14 +40,14 @@
     System(System&&) = default;
     System& operator=(System&&) = default;
 
-    System(sdbusplus::bus::bus& bus, const std::string& objPath,
+    System(sdbusplus::bus_t& bus, const std::string& objPath,
            uint8_t* smbiosTableStorage) :
-        sdbusplus::server::object::object<
+        sdbusplus::server::object_t<
             sdbusplus::xyz::openbmc_project::Common::server::UUID>(
             bus, objPath.c_str()),
-        sdbusplus::server::object::object<
-            sdbusplus::xyz::openbmc_project::Inventory::Decorator::server::
-                Revision>(bus, objPath.c_str()),
+        sdbusplus::server::object_t<sdbusplus::xyz::openbmc_project::Inventory::
+                                        Decorator::server::Revision>(
+            bus, objPath.c_str()),
         path(objPath), storage(smbiosTableStorage)
     {
         std::string input = "0";
