diff --git a/src/users/user_windows.cpp b/src/users/user_windows.cpp
index 432e52fadbdf371b6b72580189667ab281820e95..e4cad5a329e59d5afb6d663922a789f2f3153a59 100644
--- a/src/users/user_windows.cpp
+++ b/src/users/user_windows.cpp
@@ -60,10 +60,9 @@ StateAutomata::~StateAutomata()
 DMUserMultiBehavior::DMUserMultiBehavior(const std::string &name,
     const rapidjson::Value &param, uint_fast32_t random_seed,
     StateAutomata *state_automata, LoggerUserStat *logger)
-    : DMUserRenonce(name, param, nullptr)
-    , DMUserReconfig(name, param, nullptr)
-    , DMUserDegrad(name, param, nullptr)
 {
+    init_ReplayUser(name, param);
+
     this->state_automata = state_automata;
     this->logger = logger;
     random_gen = std::mt19937(random_seed);
diff --git a/src/users/user_windows.hpp b/src/users/user_windows.hpp
index a7fd8f57c159ccadc9a954185239626e55512079..2a0240d79bf353ffac81f7e8d0dee767a4db4610 100644
--- a/src/users/user_windows.hpp
+++ b/src/users/user_windows.hpp
@@ -58,8 +58,7 @@ private:
  * See the documentation of red_window_behavior and yellow_window_behavior.
  */
 
-class DMUserMultiBehavior :  public DMUserRenonce,public DMUserReconfig,
-                             public DMUserDegrad
+class DMUserMultiBehavior :  public ReplayUser
 {
 public:
     DMUserMultiBehavior(