diff --git a/control/Makefile.am b/control/Makefile.am
index 3ce3617..da67ee5 100644
--- a/control/Makefile.am
+++ b/control/Makefile.am
@@ -31,6 +31,8 @@
 	-flto
 
 if WANT_JSON
+SUBDIRS = json .
+phosphor_fan_control_LDADD += ${builddir}/json/libfan-control-json.la
 phosphor_fan_control_SOURCES += json_parser.cpp
 else
 BUILT_SOURCES = fan_zone_defs.cpp
diff --git a/control/json/Makefile.am b/control/json/Makefile.am
new file mode 100644
index 0000000..9011bd1
--- /dev/null
+++ b/control/json/Makefile.am
@@ -0,0 +1,13 @@
+AM_DEFAULT_SOURCE_EXT = .cpp
+AM_CPPFLAGS = -I${top_srcdir} -I${top_srcdir}/control
+
+noinst_LTLIBRARIES = libfan-control-json.la
+libfan_control_json_la_LDFLAGS = -static
+libfan_control_json_la_LIBADD = \
+	$(SDBUSPLUS_LIBS)
+
+libfan_control_json_la_CXXFLAGS = \
+	$(SDBUSPLUS_CFLAGS)
+
+libfan_control_json_la_SOURCES = \
+	profiles.cpp
diff --git a/control/json/profiles.cpp b/control/json/profiles.cpp
new file mode 100644
index 0000000..289d77f
--- /dev/null
+++ b/control/json/profiles.cpp
@@ -0,0 +1,32 @@
+/**
+ * Copyright © 2020 IBM Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#include "profiles.hpp"
+
+#include "json_config.hpp"
+#include "json_parser.hpp"
+
+#include <sdbusplus/bus.hpp>
+
+namespace phosphor::fan::control::json
+{
+
+Profiles::Profiles(sdbusplus::bus::bus& bus)
+{
+    _jsonObj = fan::JsonConfig::load(
+        fan::JsonConfig::getConfFile(bus, confAppName, confFileName));
+}
+
+} // namespace phosphor::fan::control::json
diff --git a/control/json/profiles.hpp b/control/json/profiles.hpp
new file mode 100644
index 0000000..f6ba56e
--- /dev/null
+++ b/control/json/profiles.hpp
@@ -0,0 +1,52 @@
+/**
+ * Copyright © 2020 IBM Corporation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#pragma once
+
+#include <nlohmann/json.hpp>
+#include <sdbusplus/bus.hpp>
+
+namespace phosphor::fan::control::json
+{
+
+using json = nlohmann::json;
+
+class Profiles
+{
+  public:
+    Profiles() = delete;
+    Profiles(const Profiles&) = delete;
+    Profiles(Profiles&&) = delete;
+    Profiles& operator=(const Profiles&) = delete;
+    Profiles& operator=(Profiles&&) = delete;
+    ~Profiles() = default;
+
+    /**
+     * Constructor
+     * Parses and populates the zone profiles from a json file
+     *
+     * @param[in] bus - sdbusplus bus object
+     */
+    explicit Profiles(sdbusplus::bus::bus& bus);
+
+  private:
+    /* JSON file name for profiles */
+    static constexpr auto confFileName = "profiles.json";
+
+    /* The parsed JSON object */
+    json _jsonObj;
+};
+
+} // namespace phosphor::fan::control::json
diff --git a/control/json_parser.hpp b/control/json_parser.hpp
index eea2564..4a59b2e 100644
--- a/control/json_parser.hpp
+++ b/control/json_parser.hpp
@@ -16,4 +16,8 @@
 #pragma once
 
 namespace phosphor::fan::control
-{} // namespace phosphor::fan::control
+{
+
+constexpr auto confAppName = "control";
+
+} // namespace phosphor::fan::control
