diff --git a/rtnetlink_server.cpp b/rtnetlink_server.cpp
index d3cac19..8e636a1 100644
--- a/rtnetlink_server.cpp
+++ b/rtnetlink_server.cpp
@@ -1,5 +1,5 @@
-#include "xyz/openbmc_project/Common/error.hpp"
 #include "rtnetlink_server.hpp"
+#include "timer.hpp"
 #include "types.hpp"
 #include "util.hpp"
 
@@ -13,18 +13,22 @@
 #include <unistd.h>
 
 #include <phosphor-logging/log.hpp>
-#include <phosphor-logging/elog-errors.hpp>
 
 #include <memory>
-#include <iostream>
 
 namespace phosphor
 {
 namespace network
 {
+
+extern std::unique_ptr<phosphor::network::Timer> refreshTimer;
+
 namespace rtnetlink
 {
 
+using namespace std::chrono_literals;
+constexpr auto networkChangeTimeout = 1s; //seconds
+
 /* Call Back for the sd event loop */
 static int eventHandler(sd_event_source* es, int fd, uint32_t revents,
                         void* userdata)
@@ -43,9 +47,16 @@
             if (netLinkHeader->nlmsg_type == RTM_NEWADDR ||
                 netLinkHeader->nlmsg_type == RTM_DELADDR)
             {
-                // TODO delete the below trace in later commit.
-                std::cout << "Address Changed\n";
-
+                // starting the timer here to make sure that we don't want
+                // create the child objects multiple times.
+                if (refreshTimer->isExpired())
+                {
+                    using namespace std::chrono;
+                    auto time = duration_cast<microseconds>(networkChangeTimeout);
+                    // if start timer throws exception then let the application
+                    // crash
+                    refreshTimer->startTimer(time);
+                } // end if
             } // end if
 
         } // end for
