diff --git a/extensions/openpower-pels/mru.hpp b/extensions/openpower-pels/mru.hpp
index e2293f1..db66e3b 100644
--- a/extensions/openpower-pels/mru.hpp
+++ b/extensions/openpower-pels/mru.hpp
@@ -57,6 +57,15 @@
     explicit MRU(Stream& pel);
 
     /**
+     * @brief Constructor
+     *
+     * Creates the object using the passed in MRUs
+     *
+     * @param[in] mrus - The  MRUs
+     */
+    explicit MRU(const std::vector<MRUCallout>& mrus);
+
+    /**
      * @brief Flatten the object into the stream
      *
      * @param[in] stream - The stream to write to
@@ -84,6 +93,26 @@
     }
 
     /**
+     * @brief Returns the size field
+     *
+     * @return size_t - The size of the MRU substructure
+     */
+    size_t size() const
+    {
+        return _size;
+    }
+
+    /**
+     * @brief Returns the flags field
+     *
+     * @return uint8_t - The flags
+     */
+    uint8_t flags() const
+    {
+        return _flags;
+    }
+
+    /**
      * @brief The type identifier value of this structure.
      */
     static const uint16_t substructureType = 0x4D52; // "MR"
