anchor.diff:      State;
   
   %% failure detector events
  +on({crash, Pid, _Cookie}, State) ->
  +    on({crash, Pid}, State);
   on({crash, Pid}, State) ->
       ?TRACE_RTM_MGMT("tx_tm_rtm:on({crash,...}) of Pid ~p~n", [Pid]),
       RTMs = state_get_RTMs(State),
  
positive.code:                       case element(2, Tuple) of
                            1 ->
                                %% delay the actual unsubscribe for better perf.?
                                fd:unsubscribe(element(1, Tuple)),
                                lists:keydelete(Pid, 1, Subs);
                            Num ->
                                NewVal = setelement(2, Tuple, Num - 1),
  
negative.code:     comm:send_local(DHTNode, {lookup_aux, ?RT:get_random_node_id(), 0, RedirectMsg}),
      State;
  
  on_init({tx_tm_rtm_tid_isdone, _TxId} = Msg, State) ->
      comm:send_local(self(), Msg),
      State;
  
  on_init({crash, Pid, _Cookie}, State) ->
      on_init({crash, Pid}, State);
  on_init({crash, _Pid} = Msg, State) ->
      %% only in tx_tm
      on(Msg, State).
  