anchor.diff:  -spec init(module()) -> state().
   init(Trigger) ->	
       TriggerState = trigger:init(Trigger, fun get_update_interval/0, ?TRIGGER_NAME),
  -    #rrepair_state{trigger_state = trigger:next(TriggerState)}.
  +    GCTrigger   = trigger:init(trigger_periodic, fun get_gc_interval/0, ?GC_TRIGGER),
  +    #rrepair_state{ trigger_state = trigger:next(TriggerState),
  +                    gc_trigger = trigger:next(GCTrigger) }.
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % Config handling
   %
   % USED CONFIG FIELDS
   %	I) 	 rr_trigger: module name of any trigger
  -%	II)  rr_trigger_interval: integer duration until next triggering
  +%	II)  rr_trigger_interval: integer duration until next triggering (milliseconds)
   %	III) rr_recon_metod: set reconciliation algorithm name
   %   IV)  rr_trigger_probability: this is the probability of starting a synchronisation 
  -%								 with a random node if trigger has fired. ]0,100]   
  +%								 with a random node if trigger has fired. ]0,100]
  +%   V)   rr_session_ttl: time to live for sessions until they are garbage collected (milliseconds)
  +%   VI)  rr_gc_interval: garbage collector execution interval (milliseconds)
   %
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  
positive.code:     end,
      NewTriggerState = trigger:next(State#rrepair_state.trigger_state),
      State#rrepair_state{ trigger_state = NewTriggerState };
  
  on({request_resolve, SessionID, Operation, Options}, State = #rrepair_state{ open_resolve = OpenResolve }) ->
      {ok, Pid} = rr_resolve:start(SessionID),
  
negative.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % constants
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -define(TRIGGER_NAME,   rr_trigger).
  -define(GC_TRIGGER,     rr_gc_trigger).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % export
  