diff --git a/include/NVMeBasicContext.hpp b/include/NVMeBasicContext.hpp
index 29b55d9..6b0a425 100644
--- a/include/NVMeBasicContext.hpp
+++ b/include/NVMeBasicContext.hpp
@@ -11,8 +11,10 @@
     NVMeBasicContext(boost::asio::io_service& io, int rootBus);
     ~NVMeBasicContext() override = default;
     void pollNVMeDevices() override;
-    void readAndProcessNVMeSensor() override;
-    void processResponse(void* msg, size_t len) override;
+    void readAndProcessNVMeSensor(
+        std::list<std::shared_ptr<NVMeSensor>>::iterator iter) override;
+    void processResponse(std::shared_ptr<NVMeSensor>& sensor, void* msg,
+                         size_t len) override;
 
   private:
     NVMeBasicContext(boost::asio::io_service& io, int rootBus, int cmdOut,
diff --git a/include/NVMeContext.hpp b/include/NVMeContext.hpp
index f8270f2..2489815 100644
--- a/include/NVMeContext.hpp
+++ b/include/NVMeContext.hpp
@@ -50,22 +50,18 @@
         sensors.remove(sensor);
     }
 
-    virtual void pollNVMeDevices()
-    {}
-
     virtual void close()
     {
         scanTimer.cancel();
     }
 
-    virtual void readAndProcessNVMeSensor()
-    {}
+    virtual void pollNVMeDevices() = 0;
 
-    virtual void processResponse(void* msg, size_t len)
-    {
-        (void)msg;
-        (void)len;
-    }
+    virtual void readAndProcessNVMeSensor(
+        std::list<std::shared_ptr<NVMeSensor>>::iterator iter) = 0;
+
+    virtual void processResponse(std::shared_ptr<NVMeSensor>& sensor, void* msg,
+                                 size_t len) = 0;
 
   protected:
     boost::asio::deadline_timer scanTimer;
