diff --git a/pid/builder.cpp b/pid/builder.cpp
index 5d8f62f..fece41b 100644
--- a/pid/builder.cpp
+++ b/pid/builder.cpp
@@ -37,8 +37,8 @@
 
 std::unordered_map<int64_t, std::unique_ptr<PIDZone>>
     BuildZones(std::map<int64_t, PIDConf>& zonePids,
-               std::map<int64_t, struct zone>& zoneConfigs, SensorManager& mgr,
-               sdbusplus::bus::bus& modeControlBus)
+               std::map<int64_t, struct ZoneConfig>& zoneConfigs,
+               SensorManager& mgr, sdbusplus::bus::bus& modeControlBus)
 {
     std::unordered_map<int64_t, std::unique_ptr<PIDZone>> zones;
 
@@ -74,7 +74,7 @@
         {
             std::vector<std::string> inputs;
             std::string name = pit.first;
-            const struct controller_info* info = &pit.second;
+            const struct ControllerInfo* info = &pit.second;
 
             std::cerr << "PID name: " << name << "\n";
 
diff --git a/pid/builder.hpp b/pid/builder.hpp
index 9201b9a..8891531 100644
--- a/pid/builder.hpp
+++ b/pid/builder.hpp
@@ -9,5 +9,5 @@
 
 std::unordered_map<int64_t, std::unique_ptr<PIDZone>>
     BuildZones(std::map<int64_t, PIDConf>& zonePids,
-               std::map<int64_t, struct zone>& zoneConfigs, SensorManager& mgr,
-               sdbusplus::bus::bus& modeControlBus);
+               std::map<int64_t, struct ZoneConfig>& zoneConfigs,
+               SensorManager& mgr, sdbusplus::bus::bus& modeControlBus);
diff --git a/pid/builderconfig.cpp b/pid/builderconfig.cpp
index c72ef9e..4909713 100644
--- a/pid/builderconfig.cpp
+++ b/pid/builderconfig.cpp
@@ -35,7 +35,7 @@
     // zone -> pids
     std::map<int64_t, PIDConf> pidConfig;
     // zone -> configs
-    std::map<int64_t, struct zone> zoneConfig;
+    std::map<int64_t, struct ZoneConfig> zoneConfig;
 
     std::cerr << "entered BuildZonesFromConfig\n";
 
@@ -72,7 +72,7 @@
 
             int id;
             PIDConf thisZone;
-            struct zone thisZoneConfig;
+            struct ZoneConfig thisZoneConfig;
 
             zoneSettings.lookupValue("id", id);
 
@@ -88,7 +88,7 @@
                 const Setting& pid = pids[j];
 
                 std::string name;
-                controller_info info;
+                struct ControllerInfo info;
 
                 /*
                  * Mysteriously if you use lookupValue on these, and the type
