diff --git a/ndn-handle/read-handle.cpp b/ndn-handle/read-handle.cpp
index 9ab7822..d9ddb01 100644
--- a/ndn-handle/read-handle.cpp
+++ b/ndn-handle/read-handle.cpp
@@ -11,8 +11,8 @@
 ReadHandle::onInterest(const Name& prefix, const Interest& interest)
 {
   Data data;
-  if (getStorageHandle()->readData(interest, data)) {
-    getFace()->put(data);
+  if (getStorageHandle().readData(interest, data)) {
+    getFace().put(data);
   }
 }
 
@@ -20,15 +20,15 @@
 ReadHandle::onRegisterFailed(const Name& prefix, const std::string& reason)
 {
   std::cerr << "ERROR: Failed to register prefix in local hub's daemon" << std::endl;
-  getFace()->shutdown();
+  getFace().shutdown();
 }
 
 void
 ReadHandle::listen(const Name& prefix)
 {
-  getFace()->setInterestFilter(prefix,
-                            bind(&ReadHandle::onInterest, this, _1, _2),
-                            bind(&ReadHandle::onRegisterFailed, this, _1, _2));
+  getFace().setInterestFilter(prefix,
+                              bind(&ReadHandle::onInterest, this, _1, _2),
+                              bind(&ReadHandle::onRegisterFailed, this, _1, _2));
 }
 
 } //namespace repo
