diff --git a/phosphor-power-supply/psu_manager.hpp b/phosphor-power-supply/psu_manager.hpp
index 13b581e..ca8fd05 100644
--- a/phosphor-power-supply/psu_manager.hpp
+++ b/phosphor-power-supply/psu_manager.hpp
@@ -18,11 +18,7 @@
 using namespace phosphor::power::psu;
 using namespace phosphor::logging;
 
-namespace phosphor
-{
-namespace power
-{
-namespace manager
+namespace phosphor::power::manager
 {
 
 /**
@@ -145,35 +141,7 @@
     /**
      * Analyze the status of each of the power supplies.
      */
-    void analyze()
-    {
-        for (auto& psu : psus)
-        {
-            psu->analyze();
-        }
-
-        for (auto& psu : psus)
-        {
-            // TODO: Fault priorities #918
-            if (!faultLogged && psu->isFaulted())
-            {
-                if (psu->hasInputFault())
-                {
-                    // TODO: Create error log
-                }
-
-                if (psu->hasMFRFault())
-                {
-                    // TODO: Create error log
-                }
-
-                if (psu->hasVINUVFault())
-                {
-                    // TODO: Create error log
-                }
-            }
-        }
-    }
+    void analyze();
 
     /** @brief True if the power is on. */
     bool powerOn = false;
@@ -229,6 +197,4 @@
     std::vector<std::unique_ptr<PowerSupply>> psus;
 };
 
-} // namespace manager
-} // namespace power
-} // namespace phosphor
+} // namespace phosphor::power::manager
