anchor.diff:  %%% API
   %%%----------------------------------------------------------------------
   
  -start_link() ->  
  -  gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
  +start_link() -> start_link(node()).
  +start_link(Seed) -> gen_server:start_link({local, ?MODULE}, ?MODULE, [Seed], []).
   
   stop() ->
     gen_server:cast(?SERVER, {stop}).
  
positive.code: %% External exports
  -export([
    start_link/0,
    list_nodes/0,
    add_node/1,
    stop/0,
  
negative.code: update_node_pings() ->
    AllNodes = ets:match(nodes, '$1'),
    lists:map(fun([{Key, Node}]) ->
      case (catch timer:tc(net_adm, ping, [Node#node.name])) of
        {Time, pong} -> ets:insert(nodes, {Key, Node#node{ping_distance = Time}});
        {_Time, pang} -> ets:delete(nodes, Key);
        E -> 
          io:format("Error: ~p~n", [E]),
          ok
      end
    end, AllNodes).
  
  