diff --git a/filedescriptor.hpp b/filedescriptor.hpp
index 2a4c6d0..7179398 100644
--- a/filedescriptor.hpp
+++ b/filedescriptor.hpp
@@ -1,6 +1,7 @@
 #pragma once
 
 #include <fcntl.h>
+
 #include <string>
 
 namespace openpower
@@ -16,42 +17,40 @@
  */
 class FileDescriptor
 {
-    public:
+  public:
+    FileDescriptor() = delete;
+    FileDescriptor(const FileDescriptor&) = delete;
+    FileDescriptor(FileDescriptor&&) = default;
+    FileDescriptor& operator=(const FileDescriptor) = delete;
+    FileDescriptor& operator=(FileDescriptor&&) = default;
 
-        FileDescriptor() = delete;
-        FileDescriptor(const FileDescriptor&) = delete;
-        FileDescriptor(FileDescriptor&&) = default;
-        FileDescriptor& operator=(const FileDescriptor) = delete;
-        FileDescriptor& operator=(FileDescriptor&&) = default;
+    /**
+     * Creates a file descriptor by opening the device
+     * path passed in.
+     *
+     * @param path[in] - the device path that will be open
+     */
+    FileDescriptor(const std::string& path);
 
-        /**
-         * Creates a file descriptor by opening the device
-         * path passed in.
-         *
-         * @param path[in] - the device path that will be open
-         */
-        FileDescriptor(const std::string& path);
+    /**
+     * Closes the file.
+     */
+    ~FileDescriptor();
 
-        /**
-         * Closes the file.
-         */
-        ~FileDescriptor();
+    /**
+     * The method to access the file descriptor value
+     */
+    inline auto get() const
+    {
+        return fd;
+    }
 
-        /**
-         * The method to access the file descriptor value
-         */
-        inline auto get() const
-        {
-            return fd;
-        }
-
-    private:
-
-        /**
-         * The actual file descriptor
-         */
-        int fd;
+  private:
+    /**
+     * The actual file descriptor
+     */
+    int fd;
 };
 
-}
-}
+} // namespace util
+} // namespace openpower
