diff --git a/sensors/builder.cpp b/sensors/builder.cpp
index a43a731..2d8154a 100644
--- a/sensors/builder.cpp
+++ b/sensors/builder.cpp
@@ -66,7 +66,7 @@
         switch (rtype)
         {
             case IOInterfaceType::DBUSPASSIVE:
-                ri = DbusPassive::CreateDbusPassive(PassiveListeningBus,
+                ri = DbusPassive::createDbusPassive(PassiveListeningBus,
                                                     info->type, name, &helper);
                 /* TODO(venture): if this returns nullptr */
                 break;
@@ -135,7 +135,7 @@
                  * The reason we handle this as a HostSensor is because it's
                  * not quite pluggable; but maybe it could be.
                  */
-                auto sensor = HostSensor::CreateTemp(
+                auto sensor = HostSensor::createTemp(
                     name, info->timeout, HostSensorBus, info->readpath.c_str(),
                     deferSignals);
                 mgmr.addSensor(info->type, name, std::move(sensor));
diff --git a/sensors/host.cpp b/sensors/host.cpp
index 30addd5..951c0ca 100644
--- a/sensors/host.cpp
+++ b/sensors/host.cpp
@@ -21,7 +21,7 @@
 #include <memory>
 #include <mutex>
 
-std::unique_ptr<Sensor> HostSensor::CreateTemp(const std::string& name,
+std::unique_ptr<Sensor> HostSensor::createTemp(const std::string& name,
                                                int64_t timeout,
                                                sdbusplus::bus::bus& bus,
                                                const char* objPath, bool defer)
diff --git a/sensors/host.hpp b/sensors/host.hpp
index ad3f834..e940469 100644
--- a/sensors/host.hpp
+++ b/sensors/host.hpp
@@ -21,7 +21,7 @@
 class HostSensor : public Sensor, public ValueObject
 {
   public:
-    static std::unique_ptr<Sensor> CreateTemp(const std::string& name,
+    static std::unique_ptr<Sensor> createTemp(const std::string& name,
                                               int64_t timeout,
                                               sdbusplus::bus::bus& bus,
                                               const char* objPath, bool defer);
diff --git a/sensors/sensor.hpp b/sensors/sensor.hpp
index 1f13e3a..6df5aa2 100644
--- a/sensors/sensor.hpp
+++ b/sensors/sensor.hpp
@@ -27,7 +27,7 @@
         return false;
     };
 
-    std::string GetName(void) const
+    std::string getName(void) const
     {
         return _name;
     }
@@ -35,7 +35,7 @@
     /* Returns the configurable timeout period
      * for this sensor in seconds (undecorated).
      */
-    int64_t GetTimeout(void) const
+    int64_t getTimeout(void) const
     {
         return _timeout;
     }
