diff --git a/service/src/mainapp.cpp b/service/src/mainapp.cpp
index 9b45ea2..52e0b85 100644
--- a/service/src/mainapp.cpp
+++ b/service/src/mainapp.cpp
@@ -14,10 +14,11 @@
 // limitations under the License.
 */
 
+#include "pfr.hpp"
+#include "pfr_mgr.hpp"
+
 #include <systemd/sd-journal.h>
 
-#include "pfr_mgr.hpp"
-#include "pfr.hpp"
 #include <boost/asio.hpp>
 
 // Caches the last Recovery/Panic Count to
diff --git a/service/src/pfr_mgr.cpp b/service/src/pfr_mgr.cpp
index abc2938..bb31b5c 100644
--- a/service/src/pfr_mgr.cpp
+++ b/service/src/pfr_mgr.cpp
@@ -27,10 +27,10 @@
 std::shared_ptr<sdbusplus::asio::dbus_interface> associationIface;
 std::set<std::tuple<std::string, std::string, std::string>> associations;
 
-PfrVersion::PfrVersion(sdbusplus::asio::object_server &srv_,
-                       std::shared_ptr<sdbusplus::asio::connection> &conn_,
-                       const std::string &path_, const ImageType &imgType_,
-                       const std::string &purpose_) :
+PfrVersion::PfrVersion(sdbusplus::asio::object_server& srv_,
+                       std::shared_ptr<sdbusplus::asio::connection>& conn_,
+                       const std::string& path_, const ImageType& imgType_,
+                       const std::string& purpose_) :
     server(srv_),
     conn(conn_), path(path_), imgType(imgType_), purpose(purpose_)
 {
@@ -43,7 +43,7 @@
     versionIface->register_property(
         versionStr, version,
         // Override set
-        [this](const std::string &req, std::string &propertyValue) {
+        [this](const std::string& req, std::string& propertyValue) {
             if (internalSet)
             {
                 if (req != propertyValue)
@@ -110,8 +110,8 @@
     return;
 }
 
-PfrConfig::PfrConfig(sdbusplus::asio::object_server &srv_,
-                     std::shared_ptr<sdbusplus::asio::connection> &conn_) :
+PfrConfig::PfrConfig(sdbusplus::asio::object_server& srv_,
+                     std::shared_ptr<sdbusplus::asio::connection>& conn_) :
     server(srv_),
     conn(conn_)
 {
