anchor.diff:      handle_crash(Pid, State, on_init).
   
   %% functions for periodic RTM updates
  --spec rtm_update(rtms(), pos_integer(), {update_RTMs} | {update_RTMs_on_init}) -> ok.
  -rtm_update(RTMs, Delay, TriggerMsg) ->
  +-spec rtm_update_trigger(rtms()) -> ok.
  +rtm_update_trigger(RTMs) ->
  +    rtm_update_once(RTMs),
  +    msg_delay:send_trigger(config:read(tx_rtm_update_interval) div 1000,
  +                           {update_RTMs}),
  +    ok.
  +
  +-spec rtm_update_once(rtms()) -> ok.
  +rtm_update_once(RTMs) ->
       This = comm:this(),
       _ = [ begin
                 Name = get_nth_rtm_name(get_nth(RTM)),
  
positive.code:         andalso tx_tm =:= state_get_role(NewState)
          andalso on =:= Handler of
          true ->
              comm:send_local(self(), {update_RTMs_on_init}),
              gen_component:change_handler(
                state_set_RTMs(NewState, NewRTMs),
  
negative.code:     %% only in tx_tm not in rtm processes!
      ?DBG_ASSERT(tx_tm =:= state_get_role(State)),
      RTMs = state_get_RTMs(State),
      rtm_update_trigger(RTMs),
      State;
  on({update_RTMs_on_init}, State) ->
      %% only in tx_tm not in rtm processes!
  