diff --git a/src/entity_manager/perform_scan.cpp b/src/entity_manager/perform_scan.cpp
index 167490b..a31e7a1 100644
--- a/src/entity_manager/perform_scan.cpp
+++ b/src/entity_manager/perform_scan.cpp
@@ -434,7 +434,7 @@
 
     if (!replaceStr && replaceVal)
     {
-        if (usedNames.find(copyIt.value()) != usedNames.end())
+        if (usedNames.contains(copyIt.value()))
         {
             replaceStr = replaceVal;
             copyForName = {{"Name", nameTemplate}};
diff --git a/src/entity_manager/topology.cpp b/src/entity_manager/topology.cpp
index ed827ad..fa95a85 100644
--- a/src/entity_manager/topology.cpp
+++ b/src/entity_manager/topology.cpp
@@ -66,11 +66,11 @@
                 for (const Path& downstream : downstreamMatch->second)
                 {
                     // The downstream path must be one we care about.
-                    if (boards.find(downstream) != boards.end())
+                    if (boards.contains(downstream))
                     {
                         result[downstream].emplace_back("contained_by",
                                                         "containing", upstream);
-                        if (powerPaths.find(downstream) != powerPaths.end())
+                        if (powerPaths.contains(downstream))
                         {
                             result[upstream].emplace_back(
                                 "powered_by", "powering", downstream);
diff --git a/src/fru_device/fru_device.cpp b/src/fru_device/fru_device.cpp
index 89b9d5a..c24d201 100644
--- a/src/fru_device/fru_device.cpp
+++ b/src/fru_device/fru_device.cpp
@@ -509,11 +509,11 @@
 
         for (int ii = first; ii <= last; ii++)
         {
-            if (foundItems.find(ii) != foundItems.end())
+            if (foundItems.contains(ii))
             {
                 continue;
             }
-            if (skipList.find(ii) != skipList.end())
+            if (skipList.contains(ii))
             {
                 continue;
             }
@@ -540,7 +540,7 @@
 
             makeProbeInterface(bus, ii, objServer);
 
-            if (failedItems.find(ii) != failedItems.end())
+            if (failedItems.contains(ii))
             {
                 // if we failed to read it once, unlikely we can read it later
                 continue;
@@ -548,7 +548,7 @@
 
             if (rootFailures != nullptr)
             {
-                if (rootFailures->find(ii) != rootFailures->end())
+                if (rootFailures->contains(ii))
                 {
                     continue;
                 }
