anchor.diff:  %%                                  {stop, Reason, State}
   %% @end
   %%--------------------------------------------------------------------
  -handle_cast({bad_rpc, Node}, State) ->
  +handle_cast({check_node, {Reason, Node}}, State) ->
       case is_active_node(Node) of
   	true ->
  +            ?debug("Check node = ~p due to reason = ~p, but node is responding", [Node, Reason]),
   	    ok;
   	_ ->
  +            ?debug("Check node = ~p due to reason = ~p, node is not responding, remove from active nodes", [Node, Reason]),
   	    remove_from_active_nodes(Node)
       end,
  +    {noreply, State};
  +handle_cast(load_cfg, State) ->
  +    load_cfg_local(State),
       {noreply, State};
   handle_cast(_Msg, State) ->
       {noreply, State}.
  
positive.code: 	 active_local_nodes/0,
  	 bad_nodes/0,
  	 get_node/0,
  	 get_node/1
  	]).
  
  -record(state, {born}).
  
negative.code: %%%===================================================================
  %%% Internal functions
  %%%===================================================================
  load_cfg_local(_State) ->
      CfgNodes = get_config_nodes(),
      BadNodes = get_bad_nodes(CfgNodes),
      ActiveNodes = CfgNodes -- BadNodes,
      LocalNodes  = get_local_nodes(ActiveNodes),
      PundunInfo = #{'#mt' => pundun_info,
  		   p_nodes => CfgNodes,
  		   p_active_nodes => ActiveNodes,
  		   p_local_nodes => LocalNodes,
  		   p_bad_nodes => BadNodes},
      ?debug("Load cfg: pundun_info = ~p", [PundunInfo]),
      ets:insert(pundun_ctable, {pundun_info, PundunInfo}),
      ok.
  
  get_bad_nodes(ActiveNodes) ->
      get_bad_nodes(ActiveNodes, []).
  