diff --git a/include/pci_handler.hpp b/include/pci_handler.hpp
index 98a8cdc..ae7bfdc 100644
--- a/include/pci_handler.hpp
+++ b/include/pci_handler.hpp
@@ -1,5 +1,7 @@
 #pragma once
 
+#include "data_interface.hpp"
+
 #include <stdplus/fd/managed.hpp>
 #include <stdplus/fd/mmap.hpp>
 
@@ -12,42 +14,6 @@
 {
 
 /**
- * Each data transport mechanism must implement the DataInterface.
- */
-class DataInterface
-{
-  public:
-    virtual ~DataInterface() = default;
-
-    /**
-     * Read bytes from shared buffer (blocking call).
-     *
-     * @param[in] offset - offset to read from
-     * @param[in] length - number of bytes to read
-     * @return the bytes read
-     */
-    virtual std::vector<uint8_t> read(const uint32_t offset,
-                                      const uint32_t length) = 0;
-
-    /**
-     * Write bytes to shared buffer.
-     *
-     * @param[in] offset - offset to write to
-     * @param[in] bytes - byte vector of data.
-     * @return return the byte length written
-     */
-    virtual uint32_t write(const uint32_t offset,
-                           const std::span<const uint8_t> bytes) = 0;
-
-    /**
-     * Getter for Memory Region Size
-     *
-     * @return return Memory Region size allocated
-     */
-    virtual uint32_t getMemoryRegionSize() = 0;
-};
-
-/**
  * Data handler for reading and writing data via the PCI bridge.
  *
  */
