anchor.diff:    lists:map(fun({_,P}) -> P end, Matching);
     
   int_partitions_for_node(Node, State, all) ->
  -  Config = State#membership.config,
     Partitions = State#membership.partitions,
  -  Nodes = n_nodes(Node, Config#config.n, lists:reverse(State#membership.nodes)),
  +  Nodes = int_replica_nodes(Node, State),
     lists:foldl(fun(E, Acc) -> 
         lists:merge(Acc, int_partitions_for_node(E, State, master)) 
       end, [], Nodes).
  +  
  +int_replica_nodes(Node, State) ->
  +  Config = State#membership.config,
  +  n_nodes(Node, Config#config.n, lists:reverse(State#membership.nodes)).
     
   int_nodes_for_key(Key, State) ->
     % error_logger:info_msg("inside int_nodes_for_key~n", []),
  
positive.code:   
  state(State) ->
    gen_server:call(membership, {state, State}).
    
  partitions() ->
    gen_server:call(membership, partitions).
  
negative.code: -define(VIRTUALNODES, 100).
  
  %% API
  -export([start_link/1, join_node/2, nodes_for_partition/1, replica_nodes/1, nodes_for_key/1, partitions/0, nodes/0, state/0, state/1, old_partitions/0, partitions_for_node/2, fire_gossip/1, partition_for_key/1, stop/0, range/1]).
  
  %% gen_server callbacks
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  