diff --git a/host_state_manager.hpp b/host_state_manager.hpp
index 8204931..41310d6 100644
--- a/host_state_manager.hpp
+++ b/host_state_manager.hpp
@@ -3,8 +3,12 @@
 #include <string>
 #include <functional>
 #include <sdbusplus/bus.hpp>
+#include <xyz/openbmc_project/State/Boot/Progress/server.hpp>
+#include <xyz/openbmc_project/Control/Boot/RebootAttempts/server.hpp>
+#include <xyz/openbmc_project/State/OperatingSystem/Status/server.hpp>
 #include "xyz/openbmc_project/State/Host/server.hpp"
 #include "settings.hpp"
+#include "config.h"
 
 namespace phosphor
 {
@@ -14,7 +18,11 @@
 {
 
 using HostInherit = sdbusplus::server::object::object<
-        sdbusplus::xyz::openbmc_project::State::server::Host>;
+        sdbusplus::xyz::openbmc_project::State::server::Host,
+        sdbusplus::xyz::openbmc_project::State::Boot::server::Progress,
+        sdbusplus::xyz::openbmc_project::Control::Boot::server::RebootAttempts,
+        sdbusplus::xyz::openbmc_project::State::OperatingSystem::server::Status>;
+
 namespace sdbusRule = sdbusplus::bus::match::rules;
 
 /** @class Host
@@ -57,6 +65,8 @@
             // Will throw exception on fail
             determineInitialState();
 
+            attemptsLeft(BOOT_COUNT_MAX_ALLOWED);
+
             // We deferred this until we could get our property correct
             this->emit_object_added();
         }
@@ -106,13 +116,6 @@
         bool stateActive(const std::string& target);
 
         /**
-         * @brief Set the HOST BOOTCOUNT Sensor value
-         *
-         * @param[in] bootCount  - new BOOTCOUNT value
-         */
-        void setHostbootCount(int bootCount);
-
-        /**
          * @brief Determine if auto reboot flag is set
          *
          * @return boolean corresponding to current auto_reboot setting
