diff --git a/user_mgr.cpp b/user_mgr.cpp
index 183afbe..17146e6 100644
--- a/user_mgr.cpp
+++ b/user_mgr.cpp
@@ -1112,7 +1112,7 @@
 }
 
 UserMgr::UserMgr(sdbusplus::bus::bus &bus, const char *path) :
-    UserMgrIface(bus, path), AccountPolicyIface(bus, path), bus(bus), path(path)
+    Ifaces(bus, path, true), bus(bus), path(path)
 {
     UserMgrIface::allPrivileges(privMgr);
     std::sort(groupsMgr.begin(), groupsMgr.end());
@@ -1221,6 +1221,9 @@
         AccountPolicyIface::accountUnlockTimeout(value32);
     }
     initUserObjects();
+
+    // emit the signal
+    this->emit_object_added();
 }
 
 } // namespace user
diff --git a/user_mgr.hpp b/user_mgr.hpp
index 4c24201..b25e9f2 100644
--- a/user_mgr.hpp
+++ b/user_mgr.hpp
@@ -33,6 +33,9 @@
 using AccountPolicyIface =
     sdbusplus::xyz::openbmc_project::User::server::AccountPolicy;
 
+using Ifaces =
+    sdbusplus::server::object::object<UserMgrIface, AccountPolicyIface>;
+
 using Privilege = std::string;
 using GroupList = std::vector<std::string>;
 using UserEnabled = bool;
@@ -59,7 +62,7 @@
 /** @class UserMgr
  *  @brief Responsible for managing user accounts over the D-Bus interface.
  */
-class UserMgr : public UserMgrIface, AccountPolicyIface
+class UserMgr : public Ifaces
 {
   public:
     UserMgr() = delete;
diff --git a/users.cpp b/users.cpp
index 84c401d..dafc2dc 100644
--- a/users.cpp
+++ b/users.cpp
@@ -55,15 +55,15 @@
 Users::Users(sdbusplus::bus::bus &bus, const char *path,
              std::vector<std::string> groups, std::string priv, bool enabled,
              UserMgr &parent) :
-    UsersIface(bus, path, true),
-    DeleteIface(bus, path),
+    Interfaces(bus, path, true),
     userName(std::experimental::filesystem::path(path).filename()),
     manager(parent)
 {
     UsersIface::userPrivilege(priv, true);
     UsersIface::userGroups(groups, true);
     UsersIface::userEnabled(enabled, true);
-    UsersIface::emit_object_added();
+
+    this->emit_object_added();
 }
 
 /** @brief delete user method.
diff --git a/users.hpp b/users.hpp
index 84a32f5..aa1726a 100644
--- a/users.hpp
+++ b/users.hpp
@@ -26,11 +26,9 @@
 {
 
 namespace Base = sdbusplus::xyz::openbmc_project;
-using UsersIface =
-    sdbusplus::server::object::object<Base::User::server::Attributes>;
-using DeleteIface =
-    sdbusplus::server::object::object<Base::Object::server::Delete>;
-
+using UsersIface = Base::User::server::Attributes;
+using DeleteIface = Base::Object::server::Delete;
+using Interfaces = sdbusplus::server::object::object<UsersIface, DeleteIface>;
 // Place where all user objects has to be created
 constexpr auto usersObjPath = "/xyz/openbmc_project/user";
 
@@ -39,7 +37,7 @@
 /** @class Users
  *  @brief Lists User objects and it's properties
  */
-class Users : public UsersIface, DeleteIface
+class Users : public Interfaces
 {
   public:
     Users() = delete;
