anchor.diff:  %%          {stop, Reason, Reply, State}   | (terminate/2 is called)
   %%          {stop, Reason, State}            (terminate/2 is called)
   %% --------------------------------------------------------------------
  -handle_call(get_state, From, #state{status = Status, ip = Ip, time = Time, node = Node} = State) ->	
  -    {reply, {Node, [{ip, Ip}, {state, Status}, {time, Time}]}, State};
  +handle_call(get_state, From, #state{status = Status, ip = Ip, time = Time, node = Node, reason = Reason} = State) ->	
  +    {reply, {Node, [{ip, Ip}, {state, Status}, {time, Time}, {reason, Reason}]}, State};
   
   handle_call(Request, From, State) ->
       Reply = ok,
  
positive.code: %%          {noreply, State, Timeout} |
  %%          {stop, Reason, State}            (terminate/2 is called)
  %% --------------------------------------------------------------------
  handle_info({nodeup, Node, InfoList}, #state{node = Node1} = State) ->
  	error_logger:info_msg("........ nodeup : ~p, ~p ~p ~n", [Node, Node1, InfoList]),
  	case erlang:atom_to_binary(Node, latin1) =:= Node1 of
  		true -> {noreply, State#state{status=?ALIVE}};
  		false -> {noreply, State}
  	end;
  handle_info({nodedown, Node, InfoList}, #state{node = Node1} = State) ->
  	error_logger:info_msg(".........nodedown : ~p, ~p ~p ~n", [Node, Node1, InfoList]),
  	case erlang:atom_to_binary(Node, latin1) =:= Node1 of
  		true -> {noreply, State#state{status=?DEAD}};
  		false -> {noreply, State}
  	end;
  
  
negative.code: %% --------------------------------------------------------------------
  %%% Internal functions
  %% --------------------------------------------------------------------	
  start_timer(Node) ->
  	erlang:send_after(5000, self(), {update, Node}).		
  	
  ping_node(Node) when is_binary(Node) ->
  	ping_node(erlang:binary_to_atom(Node, latin1));
  ping_node(Node)  ->
  