diff --git a/tach_detect.cpp b/tach_detect.cpp
index 9b2ccd1..e3d2389 100644
--- a/tach_detect.cpp
+++ b/tach_detect.cpp
@@ -1,10 +1,30 @@
 #include <vector>
 #include <sdbusplus/bus.hpp>
+#include "fan_enclosure.hpp"
+#include "fan_detect_defs.hpp"
+
 
 int main(void)
 {
     auto bus = sdbusplus::bus::new_default();
 
+    std::vector<std::unique_ptr<phosphor::fan::presence::FanEnclosure>> fans;
+
+    for (auto const& detectMap: fanDetectMap)
+    {
+        if (detectMap.first == "tach")
+        {
+            for (auto const& fanProp: detectMap.second)
+            {
+                auto fan = std::make_unique<
+                    phosphor::fan::presence::FanEnclosure>(bus,
+                                                           fanProp);
+                // TODO Add sensors to fan object
+                fans.push_back(std::move(fan));
+            }
+        }
+    }
+
     while (true)
     {
         // Respond to dbus signals
