anchor.diff:                       undefined -> dead_node();
                        MyIndex -> MyIndex
                    end,
  -    NodeListFun = fun(NodeX) ->
  -                          case get_indexed_id_by_node(NodeX) of
  -                              undefined -> node:id(NodeX);
  -                              X         -> "<b>" ++ integer_to_list(X) ++ "</b>"
  -                          end
  -                  end,
  +    NodeListFun =
  +        fun(NodeX) ->
  +                case get_indexed_id_by_node(NodeX) of
  +                    undefined -> lists:flatten(
  +                                   io:format("<b>~p</b>", [node:id(NodeX)]));
  +                    X         -> X
  +                end
  +        end,
  +    NodePid = node:pidX(Node),
  +    case comm:get_ip(NodePid) of
  +        {NodeIP1, NodeIP2, NodeIP3, NodeIP4} -> ok;
  +        _ -> NodeIP1 = NodeIP2 = NodeIP3 = NodeIP4 = 0
  +    end,
  +    NodePort = comm:get_port(NodePid),
       {tr, [], 
         [
  -       {td, [], [get_flag(Hostname), io_lib:format("~p", [Hostname])]},
  +       {td, [], [get_flag(Hostname),
  +                 io_lib:format("~p (~B.~B.~B.~B:~B)",
  +                               [Hostname, NodeIP1, NodeIP2, NodeIP3, NodeIP4, NodePort])]},
          {td, [], io_lib:format("~.100p", [[NodeListFun(N) || N <- PredList]])},
          {td, [], io_lib:format("~p:&nbsp;~p", [MyIndexStr, node:id(Node)])},
          {td, [], io_lib:format("~.100p", [[NodeListFun(N) || N <- SuccList]])},
  
positive.code: -spec extract_ring_info2(RingE1::node_details:node_details(), RingE2::node_details:node_details())
          -> [{Label::string(), Value::string(), Known::boolean()}].
  extract_ring_info2(RingE1, RingE2) ->
      E1_MyId = node:id(node_details:get(RingE1, node)),
      E1_PredId = node:id(node_details:get(RingE1, pred)),
      E2_PredId = node:id(node_details:get(RingE2, pred)),
      E1_Diff = ?RT:get_range(E1_PredId, E1_MyId) * 100 / ?RT:n(),
  
negative.code:                      undefined -> dead_node();
                       X -> X
                   end,
      NodePid = node:pidX(Node),
      case comm:get_ip(NodePid) of
          {NodeIP1, NodeIP2, NodeIP3, NodeIP4} -> ok;
          _ -> NodeIP1 = NodeIP2 = NodeIP3 = NodeIP4 = 0
      end,
      NodePort = comm:get_port(NodePid),
      {tr, [],
        [
         {td, [], [get_flag(Hostname),
                   io_lib:format("~p (~B.~B.~B.~B:~B)",
                                 [Hostname, NodeIP1, NodeIP2, NodeIP3, NodeIP4, NodePort])]},
         case hd(PredIndex) =:= -1 of
             true->
                 {td, [], io_lib:format("~p", [PredIndex])};
  