diff --git a/vpd_tool_impl.hpp b/vpd_tool_impl.hpp
index d31bc25..6c9cf12 100644
--- a/vpd_tool_impl.hpp
+++ b/vpd_tool_impl.hpp
@@ -12,6 +12,7 @@
     const std::string fruPath;
     const std::string recordName;
     const std::string keyword;
+    const std::string value;
 
     /**
      * @brief Debugger
@@ -127,6 +128,14 @@
     void readKeyword();
 
     /**
+     * @brief Update Keyword
+     * Update the given keyword with the given value.
+     *
+     * @return return code (Success(0)/Failure(-1))
+     */
+    int updateKeyword();
+
+    /**
      * @brief A Constructor
      * Constructor is called during the
      * object instantiation for dumpInventory option.
@@ -155,4 +164,18 @@
         recordName(std::move(recName)), keyword(std::move(kw))
     {
     }
+
+    /**
+     * @brief Constructor
+     * Constructor is called during the
+     * object instantiation for updateKeyword option.
+     */
+
+    VpdTool(const std::string&& fru, const std::string&& recName,
+            const std::string&& kw, const std::string&& val) :
+        fruPath(std::move(fru)),
+        recordName(std::move(recName)), keyword(std::move(kw)),
+        value(std::move(val))
+    {
+    }
 };
