diff --git a/store.hpp b/store.hpp
index 6cf1a01..b3f30e6 100644
--- a/store.hpp
+++ b/store.hpp
@@ -38,9 +38,7 @@
      *
      *  @param[in] vpdBuffer - A parsed VPD object
      */
-    explicit Store(Parsed&& vpdBuffer) : vpd(std::move(vpdBuffer))
-    {
-    }
+    explicit Store(Parsed&& vpdBuffer) : vpd(std::move(vpdBuffer)) {}
 
     /** @brief Retrieves VPD from Store as a Parsed object
      *
@@ -78,13 +76,12 @@
      */
     void dump() const
     {
-        for (auto const& [vpdname, avpd] : vpd)
+        for (const auto& [vpdname, avpd] : vpd)
         {
             std::cout << vpdname << ": " << std::endl;
 
-            for (auto const& [key, val] : avpd)
+            for (const auto& [key, val] : avpd)
             {
-
                 std::cout << "\t" << key << " : " << val << std::endl;
             }
         }
