diff --git a/analyzer/analyzer_main.cpp b/analyzer/analyzer_main.cpp
index 13da175..327dd1c 100644
--- a/analyzer/analyzer_main.cpp
+++ b/analyzer/analyzer_main.cpp
@@ -1,25 +1,43 @@
 #include <hei_main.hpp>
 
+#include <map>
+#include <string>
+
 namespace analyzer
 {
 
 /** Analyze error condition using the hardware error isolator */
-void analyzeHardware()
+int analyzeHardware(std::map<std::string, std::string>& i_errors)
 {
     using namespace libhei;
 
     std::vector<Chip> chipList; // data to isolator
     IsolationData isoData{};    // data from isolator
 
-    // TEMP CODE - start
+    // FIXME TEMP CODE - start
+
     initialize(nullptr, 0);
 
     chipList.emplace_back(Chip{"proc", static_cast<ChipType_t>(0xdeadbeef)});
 
-    isolate(chipList, isoData);
+    isolate(chipList, isoData); // isolate errors
+
+    if (!(isoData.getSignatureList().empty()))
+    {
+        // Signature signature = isoData.getSignatureList().back();
+    }
+    else
+    {
+        std::string signature = "0xfeed";
+        std::string chip      = "0xbeef";
+        i_errors[signature]   = chip;
+    }
 
     uninitialize();
-    // TEMP CODE - end
+
+    // FIXME TEMP CODE - end
+
+    return 0; // FIXME - error/success from isolator or isolation data
 }
 
 } // namespace analyzer
