diff --git a/src/EntityManager.cpp b/src/EntityManager.cpp
index d993860..298dac3 100644
--- a/src/EntityManager.cpp
+++ b/src/EntityManager.cpp
@@ -29,7 +29,7 @@
 #include <boost/container/flat_map.hpp>
 #include <boost/container/flat_set.hpp>
 #include <VariantVisitors.hpp>
-#include <experimental/filesystem>
+#include "filesystem.hpp"
 
 constexpr const char *OUTPUT_DIR = "/var/configuration/";
 constexpr const char *configurationDirectory = PACKAGE_DIR "configurations";
@@ -40,7 +40,6 @@
 constexpr const int32_t MAX_MAPPER_DEPTH = 0;
 constexpr const size_t SLEEP_AFTER_PROPERTIES_CHANGE_SECONDS = 5;
 
-namespace fs = std::experimental::filesystem;
 namespace variant_ns = sdbusplus::message::variant_ns;
 struct cmp_str
 {
@@ -499,7 +498,7 @@
 // writes output files to persist data
 bool writeJsonFiles(const nlohmann::json &systemConfiguration)
 {
-    std::experimental::filesystem::create_directory(OUTPUT_DIR);
+    std::filesystem::create_directory(OUTPUT_DIR);
     std::ofstream output(std::string(OUTPUT_DIR) + "system.json");
     if (!output.good())
     {
@@ -1141,8 +1140,8 @@
 bool findJsonFiles(std::list<nlohmann::json> &configurations)
 {
     // find configuration files
-    std::vector<fs::path> jsonPaths;
-    if (!findFiles(fs::path(configurationDirectory),
+    std::vector<std::filesystem::path> jsonPaths;
+    if (!findFiles(std::filesystem::path(configurationDirectory),
                    R"(.*\.json)", jsonPaths))
     {
         std::cerr << "Unable to find any configuration files in "
@@ -1157,6 +1156,7 @@
         std::cerr
             << "Cannot open schema file,  cannot validate JSON, exiting\n\n";
         std::exit(EXIT_FAILURE);
+        return false;
     }
     nlohmann::json schema = nlohmann::json::parse(schemaStream, nullptr, false);
     if (schema.is_discarded())
@@ -1164,6 +1164,7 @@
         std::cerr
             << "Illegal schema file detected, cannot validate JSON, exiting\n";
         std::exit(EXIT_FAILURE);
+        return false;
     }
 
     for (auto &jsonPath : jsonPaths)
@@ -1198,6 +1199,7 @@
             configurations.emplace_back(data);
         }
     }
+    return true;
 }
 
 struct PerformScan : std::enable_shared_from_this<PerformScan>
