diff --git a/vpd_tool_impl.hpp b/vpd_tool_impl.hpp
index 378ece2..d31bc25 100644
--- a/vpd_tool_impl.hpp
+++ b/vpd_tool_impl.hpp
@@ -10,6 +10,8 @@
 {
   private:
     const std::string fruPath;
+    const std::string recordName;
+    const std::string keyword;
 
     /**
      * @brief Debugger
@@ -117,6 +119,14 @@
     void dumpObject(const nlohmann::basic_json<>& jsObject);
 
     /**
+     * @brief Read keyword
+     * Read the given object path, record name and keyword
+     * from the inventory and display the value of the keyword
+     * in JSON format.
+     */
+    void readKeyword();
+
+    /**
      * @brief A Constructor
      * Constructor is called during the
      * object instantiation for dumpInventory option.
@@ -133,4 +143,16 @@
     VpdTool(const std::string&& fru) : fruPath(std::move(fru))
     {
     }
+
+    /**
+     * @brief Constructor
+     * Constructor is called during the
+     * object instantiation for readKeyword option.
+     */
+    VpdTool(const std::string&& fru, const std::string&& recName,
+            const std::string&& kw) :
+        fruPath(std::move(fru)),
+        recordName(std::move(recName)), keyword(std::move(kw))
+    {
+    }
 };
