diff --git a/download_manager.cpp b/download_manager.cpp
index c4c2cd3..434ece9 100644
--- a/download_manager.cpp
+++ b/download_manager.cpp
@@ -1,3 +1,9 @@
+#include <iostream>
+#include <string>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <phosphor-logging/log.hpp>
+#include "config.h"
 #include "download_manager.hpp"
 
 namespace phosphor
@@ -7,9 +13,43 @@
 namespace manager
 {
 
+using namespace phosphor::logging;
+
 void Download::downloadViaTFTP(const  std::string fileName,
                                const  std::string serverAddress)
 {
+    if (fileName.empty())
+    {
+        log<level::ERR>("Error FileName is empty");
+        return;
+    }
+
+    if (serverAddress.empty())
+    {
+        log<level::ERR>("Error ServerAddress is empty");
+        return;
+    }
+
+    log<level::INFO>("Downloading via TFTP",
+                     entry("FILENAME=%s", fileName),
+                     entry("SERVERADDRESS=%s", serverAddress));
+
+    pid_t pid = fork();
+
+    if (pid == 0)
+    {
+        // child process
+        execl("/usr/bin/tftp", "tftp", "-g", "-r",  fileName.c_str(),
+              serverAddress.c_str(), "-l", (std::string{IMG_UPLOAD_DIR} + '/' +
+                                            fileName).c_str(), (char*)0);
+        // execl only returns on fail
+        log<level::ERR>("Error occurred during the TFTP call");
+    }
+    else if (pid < 0)
+    {
+        log<level::ERR>("Error occurred during fork");
+    }
+
     return;
 }
 
