diff --git a/tools/updater.cpp b/tools/updater.cpp
index 4041d4c..6abbe17 100644
--- a/tools/updater.cpp
+++ b/tools/updater.cpp
@@ -20,21 +20,22 @@
 #include "interface.hpp"
 #include "lpc.hpp"
 
+#include <algorithm>
 #include <memory>
 
-int updaterMain(const std::string& interface, const std::string& imagePath,
-                const std::string& signaturePath)
+int updaterMain(BlobInterface* blob, const std::string& interface,
+                const std::string& imagePath, const std::string& signaturePath)
 {
     std::unique_ptr<DataInterface> handler;
 
     /* Input has already been validated in this case. */
     if (interface == "ipmibt")
     {
-        handler = std::make_unique<BtDataHandler>();
+        handler = std::make_unique<BtDataHandler>(blob);
     }
     else if (interface == "ipmilpc")
     {
-        handler = std::make_unique<LpcDataHandler>();
+        handler = std::make_unique<LpcDataHandler>(blob);
     }
 
     if (!handler)
@@ -48,7 +49,16 @@
     /* TODO(venture): Add optional parameter to specify the flash type, default
      * to legacy for now.
      */
-    std::string goalfirmware = "/flash/image";
+    std::string goalFirmware = "/flash/image";
+
+    std::vector<std::string> blobs = blob->getBlobList();
+
+    auto blobInst = std::find(blobs.begin(), blobs.end(), goalFirmware);
+    if (blobInst == blobs.end())
+    {
+        std::fprintf(stderr, "firmware goal not found!\n");
+        return -1; /* throw custom exception. */
+    }
 
     /* Get list of blob_ids, check for /flash/image, or /flash/tarball.
      * TODO(venture) the mechanism doesn't care, but the caller of burn_my_bmc
@@ -57,7 +67,8 @@
      */
 
     /* Call stat on /flash/image (or /flash/tarball) and check if data interface
-     * is supported. */
+     * is supported.
+     */
 
     return 0;
 }
