diff --git a/Makefile.am b/Makefile.am
index 9de41b4..fbc8cbf 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,9 @@
 noinst_HEADERS = \
 	version_software_manager.hpp \
 	download_manager.hpp \
-	watch.hpp
+	watch.hpp \
+	version.hpp \
+	image_manager.hpp
 
 sbin_PROGRAMS = \
 	phosphor-version-software-manager \
@@ -13,7 +15,9 @@
 phosphor_version_software_manager_SOURCES = \
 	version_software_manager.cpp \
 	image_manager_main.cpp \
-	watch.cpp
+	watch.cpp \
+	version.cpp \
+	image_manager.cpp
 
 phosphor_download_manager_SOURCES = \
 	download_manager.cpp \
diff --git a/image_manager.cpp b/image_manager.cpp
new file mode 100644
index 0000000..25b08ba
--- /dev/null
+++ b/image_manager.cpp
@@ -0,0 +1,18 @@
+#include <string>
+#include "image_manager.hpp"
+
+namespace phosphor
+{
+namespace software
+{
+namespace manager
+{
+
+int processImage(const std::string& tarFilePath)
+{
+    return 0;
+}
+
+} // namespace manager
+} // namespace software
+} // namepsace phosphor
diff --git a/image_manager.hpp b/image_manager.hpp
new file mode 100644
index 0000000..e57599f
--- /dev/null
+++ b/image_manager.hpp
@@ -0,0 +1,21 @@
+#pragma once
+
+namespace phosphor
+{
+namespace software
+{
+namespace manager
+{
+
+/**
+ * @brief Verify and untar the tarball. Verify the manifest file.
+ *        Create and populate the version and filepath interfaces.
+ *
+ * @param[in]  tarballFilePath - Tarball path.
+ * @param[out] result          - 0 if successful.
+ */
+int processImage(const std::string& tarballFilePath);
+
+} // namespace manager
+} // namespace software
+} // namespace phosphor
diff --git a/watch.cpp b/watch.cpp
index a690c57..ae1e419 100644
--- a/watch.cpp
+++ b/watch.cpp
@@ -7,6 +7,7 @@
 #include <phosphor-logging/log.hpp>
 #include "config.h"
 #include "watch.hpp"
+#include "image_manager.hpp"
 
 namespace phosphor
 {
@@ -15,6 +16,7 @@
 namespace manager
 {
 
+using namespace phosphor::logging;
 using namespace std::string_literals;
 
 Watch::Watch(sd_event* loop)
@@ -86,11 +88,14 @@
         auto event = reinterpret_cast<inotify_event*>(&buffer[offset]);
         if ((event->mask & IN_CLOSE_WRITE) && !(event->mask & IN_ISDIR))
         {
-            // TODO: openbmc/openbmc#1352 - invoke method (which takes uploaded
-            // filepath) to construct software version d-bus objects.
-            // For now, log the image filename.
-            using namespace phosphor::logging;
-            log<level::INFO>(event->name);
+            auto rc = processImage(std::string{IMG_UPLOAD_DIR} +
+                                   '/' + event->name);
+            if (rc < 0)
+            {
+                log<level::ERR>("Error processing image",
+                                entry("IMAGE=%s", std::string{event->name}));
+            }
+
         }
 
         offset += offsetof(inotify_event, name) + event->len;
