anchor.diff:  %%          {noreply, State, Timeout} |
   %%          {stop, Reason, State}            (terminate/2 is called)
   %% --------------------------------------------------------------------
  +handle_info({update, Node}, State) ->
  +	start_timer(Node),
  +	{noreply, State#state{status=ping_node(Node), reason=[]}};
   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}};
  +		true -> {noreply, State#state{status=?ALIVE, reason=InfoList}};
   		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}};
  +		true -> {noreply, State#state{status=?DEAD, reason=InfoList}};
   		false -> {noreply, State}
   	end;
   
  
positive.code: %%          {stop, Reason, State}            (terminate/2 is called)
  %% --------------------------------------------------------------------
  handle_cast({init_phase_2, Node}, State) ->
  	error_logger:info_msg(".init_phase2~n"),
  	{noreply, State#state{status=ping_node(Node)}};
  
  handle_cast(Msg, State) ->
      {noreply, State}.
  
negative.code: %% --------------------------------------------------------------------
  %% record definitions
  %% --------------------------------------------------------------------
  -record(state, {status = ?UNKNOWN, node, time, ip = {0,0,0,0}, reason=[]}).
  %% ====================================================================
  %% Server functions
  %% ====================================================================
  