diff --git a/dbus/util.hpp b/dbus/util.hpp
index ed7a411..41a0af1 100644
--- a/dbus/util.hpp
+++ b/dbus/util.hpp
@@ -28,7 +28,7 @@
 
     /** @brief Get the service providing the interface for the path.
      */
-    virtual std::string GetService(sdbusplus::bus::bus& bus,
+    virtual std::string getService(sdbusplus::bus::bus& bus,
                                    const std::string& intf,
                                    const std::string& path) = 0;
 
@@ -39,7 +39,7 @@
      * @param[in] path - The dbus path.
      * @param[out] prop - A pointer to a properties struct to fill out.
      */
-    virtual void GetProperties(sdbusplus::bus::bus& bus,
+    virtual void getProperties(sdbusplus::bus::bus& bus,
                                const std::string& service,
                                const std::string& path,
                                struct SensorProperties* prop) = 0;
@@ -50,7 +50,7 @@
      * @param[in] service - The service providing the interface.
      * @param[in] path - The dbus path.
      */
-    virtual bool ThresholdsAsserted(sdbusplus::bus::bus& bus,
+    virtual bool thresholdsAsserted(sdbusplus::bus::bus& bus,
                                     const std::string& service,
                                     const std::string& path) = 0;
 };
@@ -65,14 +65,14 @@
     DbusHelper(DbusHelper&&) = default;
     DbusHelper& operator=(DbusHelper&&) = default;
 
-    std::string GetService(sdbusplus::bus::bus& bus, const std::string& intf,
+    std::string getService(sdbusplus::bus::bus& bus, const std::string& intf,
                            const std::string& path) override;
 
-    void GetProperties(sdbusplus::bus::bus& bus, const std::string& service,
+    void getProperties(sdbusplus::bus::bus& bus, const std::string& service,
                        const std::string& path,
                        struct SensorProperties* prop) override;
 
-    bool ThresholdsAsserted(sdbusplus::bus::bus& bus,
+    bool thresholdsAsserted(sdbusplus::bus::bus& bus,
                             const std::string& service,
                             const std::string& path) override;
 };
