anchor.diff:              SlideOp = slide_op:new_sending_slide_join(
                           MoveFullId, TargetNode, join, Neighbors),
               % note: phase will be set by notify_other/2 and needs to remain null here
  -            case slide_chord:prepare_join_send(State, SlideOp) of
  +            SlideMod = get_slide_mod(),
  +            case SlideMod:prepare_join_send(State, SlideOp) of
                   {ok, State1, SlideOp1} when MsgTag =:= nomsg ->
                       notify_other(SlideOp1, State1);
                   {ok, State1, SlideOp1} when MsgTag =:= slide ->
  
positive.code: -spec update_rcv_data2(State::dht_node_state:state(), SlideOp::slide_op:slide_op(),
                         EmbeddedMsg::comm:message()) -> dht_node_state:state().
  update_rcv_data2(State, SlideOp, EmbeddedMsg) ->
      case slide_chord:update_rcv_data2(State, SlideOp, EmbeddedMsg) of
          {ok, State1, SlideOp1} ->
              SlideOp2 = slide_op:set_phase(SlideOp1, wait_for_delta),
              Msg = {move, data_ack, slide_op:get_id(SlideOp2)},
  
negative.code: -spec finish_delta_ack2(State::dht_node_state:state(), SlideOp::slide_op:slide_op(),
                          NextOp::next_op_msg()) -> dht_node_state:state().
  finish_delta_ack2(State, SlideOp, NextOpMsg) ->
      SlideMod = get_slide_mod(),
      case SlideMod:finish_delta_ack2(State, SlideOp, NextOpMsg) of
          {ok, State1, SlideOp1, NextOpMsg1} ->
              NextOpMsg2 =
                  case slide_op:is_leave(SlideOp1) andalso not slide_op:is_jump(SlideOp1) of
  