anchor.diff:      %% merge the routing tables. Note: We don't care if this message is not from our
       %current successor. We just have to make sure that the merged entries are valid.
       LocalRT = rt_loop:get_rt(State),
  -    NewRT = case LocalRT =:= RT of
  +    NewRT = case LocalRT =/= RT of
           true ->
  +            % Merge the smaller table into the bigger one
               % - add each entry from the other RT if it doesn't already exist
               % - entries to be added have to be normal entries
  +            {From, To} = case get_size(RT) < get_size(LocalRT) of
  +                true -> {RT, LocalRT};
  +                false -> {LocalRT, RT}
  +            end,
               util:gb_trees_foldl(
                   fun(Key, Entry, Acc) ->
                           %% TODO send an async message to check if entry is valid; if it
  
positive.code:                         case entry_exists(Key, Acc) of
                              true -> Acc;
                              false -> 
                                  io:format("Adding normal entry ~p~n", [Entry]),
                                  add_normal_entry(Entry, Acc)
                          end
                  end,
                  LocalRT, get_rt_tree(RT)
              );
          false -> LocalRT
      end,
      rt_loop:set_rt(State, NewRT)
  
negative.code:         true -> ok;
          _Else -> % update the exported routing table
              Pid = pid_groups:get_my(dht_node),
              case Pid of
                  failed -> ok;
                  _E     -> RTExt = export_rt_to_dht_node(NewRT, NewNeighbors),
  