diff --git a/version.hpp b/version.hpp
index 23bf604..507d4d0 100644
--- a/version.hpp
+++ b/version.hpp
@@ -2,6 +2,7 @@
 
 #include <sdbusplus/bus.hpp>
 #include "xyz/openbmc_project/Software/Version/server.hpp"
+#include "xyz/openbmc_project/Object/Delete/server.hpp"
 #include "xyz/openbmc_project/Common/FilePath/server.hpp"
 
 namespace openpower
@@ -11,8 +12,11 @@
 namespace updater
 {
 
+class ItemUpdater;
+
 using VersionInherit = sdbusplus::server::object::object<
     sdbusplus::xyz::openbmc_project::Software::server::Version,
+    sdbusplus::xyz::openbmc_project::Object::server::Delete,
     sdbusplus::xyz::openbmc_project::Common::server::FilePath>;
 
 /** @class Version
@@ -30,13 +34,16 @@
          * @param[in] versionId      - The version identifier
          * @param[in] versionPurpose - The version purpose
          * @param[in] filePath       - The image filesystem path
+         * @param[in] parent         - The version's parent
          */
         Version(sdbusplus::bus::bus& bus,
                 const std::string& objPath,
                 const std::string& versionId,
                 VersionPurpose versionPurpose,
-                const std::string& filePath) : VersionInherit(
-                    bus, (objPath).c_str(), true)
+                const std::string& filePath,
+                ItemUpdater& parent) : VersionInherit(
+                    bus, (objPath).c_str(), true),
+                parent(parent)
         {
             // Set properties.
             purpose(versionPurpose);
@@ -68,6 +75,15 @@
          * @return The id.
          */
         static std::string getId(const std::string& version);
+
+        /** @brief Deletes the d-bus object and removes image.
+         *
+         */
+        void delete_() override;
+
+    private:
+        ItemUpdater& parent;
+
 };
 
 } // namespace updater
