diff --git a/certificate.cpp b/certificate.cpp
index 413ad54..15f9367 100644
--- a/certificate.cpp
+++ b/certificate.cpp
@@ -9,8 +9,9 @@
 
 #include <fstream>
 #include <phosphor-logging/elog-errors.hpp>
-#include <xyz/openbmc_project/Certs/Install/error.hpp>
+#include <xyz/openbmc_project/Certs/error.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
+
 namespace phosphor
 {
 namespace certs
@@ -27,8 +28,8 @@
 using InternalFailure =
     sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
 using InvalidCertificate =
-    sdbusplus::xyz::openbmc_project::Certs::Install::Error::InvalidCertificate;
-using Reason = xyz::openbmc_project::Certs::Install::InvalidCertificate::REASON;
+    sdbusplus::xyz::openbmc_project::Certs::Error::InvalidCertificate;
+using Reason = xyz::openbmc_project::Certs::InvalidCertificate::REASON;
 
 // Trust chain related errors.`
 #define TRUST_CHAIN_ERR(errnum)                                                \
@@ -102,7 +103,12 @@
     }
 }
 
-void Certificate::install(const std::string filePath)
+void Certificate::replace(const std::string filePath)
+{
+    install(filePath);
+}
+
+void Certificate::install(const std::string& filePath)
 {
     log<level::INFO>("Certificate install ",
                      entry("FILEPATH=%s", filePath.c_str()));
diff --git a/certificate.hpp b/certificate.hpp
index 878ae71..6fbef52 100644
--- a/certificate.hpp
+++ b/certificate.hpp
@@ -5,7 +5,7 @@
 #include <filesystem>
 #include <phosphor-logging/elog.hpp>
 #include <xyz/openbmc_project/Certs/Certificate/server.hpp>
-#include <xyz/openbmc_project/Certs/Install/server.hpp>
+#include <xyz/openbmc_project/Certs/Replace/server.hpp>
 
 namespace phosphor
 {
@@ -13,9 +13,9 @@
 {
 using CertificateIface = sdbusplus::server::object::object<
     sdbusplus::xyz::openbmc_project::Certs::server::Certificate>;
-using InstallIface = sdbusplus::xyz::openbmc_project::Certs::server::Install;
+using ReplaceIface = sdbusplus::xyz::openbmc_project::Certs::server::Replace;
 using CertIfaces =
-    sdbusplus::server::object::object<CertificateIface, InstallIface>;
+    sdbusplus::server::object::object<CertificateIface, ReplaceIface>;
 
 using CertificateType = std::string;
 using UnitsToRestart = std::string;
@@ -67,14 +67,19 @@
                 const CertInstallPath& installPath,
                 const CertUploadPath& uploadPath);
 
-    /** @brief Implementation for Install
-     *  Replace the existing certificate file with another
+    /** @brief Validate certificate and replace the existing certificate
+     *  @param[in] filePath - Certificate file path.
+     */
+    void replace(const std::string filePath) override;
+
+  private:
+    /** @brief Validate and Replace/Install the certificate file
+     *  Install/Replace the existing certificate file with another
      *  (possibly CA signed) Certificate file.
      *  @param[in] filePath - Certificate file path.
      */
-    void install(const std::string filePath) override;
+    void install(const std::string& filePath);
 
-  private:
     /** @brief Load Certificate file into the X509 structre.
      *  @param[in] fileName - Certificate and key full file path.
      *  @return pointer to the X509 structure.
diff --git a/certs_manager.cpp b/certs_manager.cpp
index b55363f..ea19fcd 100644
--- a/certs_manager.cpp
+++ b/certs_manager.cpp
@@ -1,7 +1,7 @@
 #include "certs_manager.hpp"
 
 #include <phosphor-logging/elog-errors.hpp>
-#include <xyz/openbmc_project/Certs/Install/error.hpp>
+#include <xyz/openbmc_project/Certs/error.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 namespace phosphor
 {
@@ -25,10 +25,9 @@
     bus(bus), objectPath(path), certType(type), unitToRestart(std::move(unit)),
     certInstallPath(std::move(installPath))
 {
-    using InvalidCertificate = sdbusplus::xyz::openbmc_project::Certs::Install::
-        Error::InvalidCertificate;
-    using Reason =
-        xyz::openbmc_project::Certs::Install::InvalidCertificate::REASON;
+    using InvalidCertificate =
+        sdbusplus::xyz::openbmc_project::Certs::Error::InvalidCertificate;
+    using Reason = xyz::openbmc_project::Certs::InvalidCertificate::REASON;
     if (fs::exists(certInstallPath))
     {
         try
diff --git a/test/certs_manager_test.cpp b/test/certs_manager_test.cpp
index 82793a2..7b318d7 100644
--- a/test/certs_manager_test.cpp
+++ b/test/certs_manager_test.cpp
@@ -1,3 +1,5 @@
+#include "config.h"
+
 #include "certificate.hpp"
 #include "certs_manager.hpp"
 
@@ -6,18 +8,15 @@
 #include <fstream>
 #include <iterator>
 #include <string>
-#include <xyz/openbmc_project/Certs/Install/error.hpp>
+#include <xyz/openbmc_project/Certs/error.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 
 #include <gtest/gtest.h>
 namespace fs = std::filesystem;
-static constexpr auto BUSNAME = "xyz.openbmc_project.Certs.Manager";
-static constexpr auto OBJPATH = "/xyz/openbmc_project/certs";
 using InternalFailure =
     sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
-
 using InvalidCertificate =
-    sdbusplus::xyz::openbmc_project::Certs::Install::Error::InvalidCertificate;
+    sdbusplus::xyz::openbmc_project::Certs::Error::InvalidCertificate;
 using namespace phosphor::certs;
 
 /**
