diff --git a/include/manager_serialize.hpp b/include/manager_serialize.hpp
index 000314e..6682617 100644
--- a/include/manager_serialize.hpp
+++ b/include/manager_serialize.hpp
@@ -1,28 +1,28 @@
-#pragma once
-
-#include "manager.hpp"
-
-#include <filesystem>
-
-namespace bios_config
-{
-
-/** @brief Serialize and persist the bios manager object
- *
- *  @param[in] obj - bios manager object
- *  @param[in] path - path to the file where the bios manager object
- *                    is to be serialized
- */
-void serialize(const Manager& obj, const fs::path& path);
-
-/** @brief Deserialize the persisted data and populate the bios manager object
- *
- *  @param[in] path - path to the persisted file
- *  @param[in/out] entry - reference to the bios manager object which is the
- *                         target of deserialization.
- *
- *  @return bool - true if the deserialization was successful, false otherwise.
- */
-bool deserialize(const fs::path& path, Manager& entry);
-
+#pragma once
+
+#include "manager.hpp"
+
+#include <filesystem>
+
+namespace bios_config
+{
+
+/** @brief Serialize and persist the bios manager object
+ *
+ *  @param[in] obj - bios manager object
+ *  @param[in] path - path to the file where the bios manager object
+ *                    is to be serialized
+ */
+void serialize(const Manager& obj, const fs::path& path);
+
+/** @brief Deserialize the persisted data and populate the bios manager object
+ *
+ *  @param[in] path - path to the persisted file
+ *  @param[in/out] entry - reference to the bios manager object which is the
+ *                         target of deserialization.
+ *
+ *  @return bool - true if the deserialization was successful, false otherwise.
+ */
+bool deserialize(const fs::path& path, Manager& entry);
+
 } // namespace bios_config
\ No newline at end of file
