diff --git a/src/util/network-monitor.cpp b/src/util/network-monitor.cpp
index a12e373..ccb5418 100644
--- a/src/util/network-monitor.cpp
+++ b/src/util/network-monitor.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2013-2016 Regents of the University of California.
+ * Copyright (c) 2013-2017 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -17,10 +17,12 @@
  * <http://www.gnu.org/licenses/>.
  *
  * See AUTHORS.md for complete list of ndn-cxx authors and contributors.
+ *
+ * @author Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ * @author Davide Pesavento <davide.pesavento@lip6.fr>
  */
 
 #include "network-monitor.hpp"
-
 #include "ndn-cxx-config.hpp"
 
 #if defined(NDN_CXX_HAVE_COREFOUNDATION_COREFOUNDATION_H)
@@ -50,11 +52,23 @@
 namespace util {
 
 NetworkMonitor::NetworkMonitor(boost::asio::io_service& io)
-  : m_impl(new Impl(*this, io))
+  : m_impl(make_unique<Impl>(*this, io))
 {
 }
 
 NetworkMonitor::~NetworkMonitor() = default;
 
+shared_ptr<NetworkInterface>
+NetworkMonitor::getNetworkInterface(const std::string& ifname) const
+{
+  return m_impl->getNetworkInterface(ifname);
+}
+
+std::vector<shared_ptr<NetworkInterface>>
+NetworkMonitor::listNetworkInterfaces() const
+{
+  return m_impl->listNetworkInterfaces();
+}
+
 } // namespace util
 } // namespace ndn
