diff --git a/daemon/fw/ncc-strategy.hpp b/daemon/fw/ncc-strategy.hpp
index 80e2918..5043ee3 100644
--- a/daemon/fw/ncc-strategy.hpp
+++ b/daemon/fw/ncc-strategy.hpp
@@ -36,18 +36,15 @@
 class NccStrategy : public Strategy
 {
 public:
+  explicit
   NccStrategy(Forwarder& forwarder, const Name& name = STRATEGY_NAME);
 
-  virtual
-  ~NccStrategy();
+  virtual void
+  afterReceiveInterest(const Face& inFace, const Interest& interest,
+                       const shared_ptr<pit::Entry>& pitEntry) override;
 
   virtual void
-  afterReceiveInterest(const Face& inFace,
-                       const Interest& interest,
-                       shared_ptr<pit::Entry> pitEntry) override;
-
-  virtual void
-  beforeSatisfyInterest(shared_ptr<pit::Entry> pitEntry,
+  beforeSatisfyInterest(const shared_ptr<pit::Entry>& pitEntry,
                         const Face& inFace, const Data& data) override;
 
 PUBLIC_WITH_TESTS_ELSE_PROTECTED:
@@ -105,7 +102,7 @@
     }
 
     virtual
-    ~PitEntryInfo();
+    ~PitEntryInfo() override;
 
   public:
     /// timer that expires when best face does not respond within predicted time
@@ -121,7 +118,7 @@
   getMeasurementsEntryInfo(measurements::Entry* entry);
 
   MeasurementsEntryInfo&
-  getMeasurementsEntryInfo(shared_ptr<pit::Entry> entry);
+  getMeasurementsEntryInfo(const shared_ptr<pit::Entry>& entry);
 
   /// propagate to another upstream
   void
