anchor.diff:  %%--------------------------------------------------------------------
   
   handle_call({join_ring, Node}, _From, State) ->
  -	case dict:is_key(Node, State#membership.member_table) of
  -		true -> {reply, duplicate, State};
  -		false -> 
  -			VirtualNodes = virtual_nodes(Node),
  -			{reply, added, #membership{
  -				hash_ring=add_nodes_to_ring(VirtualNodes, State#membership.hash_ring),
  -				member_table=map_nodes_to_table(VirtualNodes, Node, State#membership.member_table)
  -			}}
  -	end;
  +	int_join_ring(Node, State);
   
   handle_call(hash_ring, _From, State) ->
   	{reply, State#membership.hash_ring, State};
  
positive.code: -record(membership, {hash_ring, member_table}).
  
  %testing
  -compile(export_all).
  
  
  %%====================================================================
  
negative.code: -define(VIRTUALNODES, 100).
  
  %% API
  -export([start_link/0, join_ring/1, hash_ring/0, server_for_key/1]).
  
  %% gen_server callbacks
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  