anchor.diff:  %%--------------------------------------------------------------------
   
   internal_put(Key, Value, #mediator{n=N}) ->
  -  Servers = membership:server_for_key(Key),
  +  Servers = membership:server_for_key(Key, N),
     MapFun = fun(Server) ->
       storage_server:put(Server, Key, Value)
     end,
  -  lib_misc:pmap(MapFun, Servers, []).
  +  lib_misc:pmap(MapFun, Servers, []),
  +  ok.
     
   internal_get(Key, #mediator{n=N}) ->
  -  Servers = membership:server_for_key(Key),
  +  Servers = membership:server_for_key(Key, N),
     MapFun = fun(Server) ->
       storage_server:get(Server, Key)
     end,
     Responses = lib_misc:pmap(MapFun, Servers, []),
  -  [Value|_] = lists:filter(fun(Resp) -> Resp =/= error end, Responses).+  [{ok,Value}|_] = lists:filter(fun(Resp) -> {ok,_} = Resp end, Responses),
  +  Value.
  +  
  +internal_has_key(Key, #mediator{n=N}) ->
  +  Servers = membership:server_for_key(Key, N),
  +  MapFun = fun(Server) ->
  +    storage_server:has_key(Server, Key)
  +  end,
  +  Responses = lib_misc:pmap(MapFun, Servers, []),
  +  [{ok,Value}|_] = lists:filter(fun(Resp) -> {ok,_} = Resp end, Responses),
  +  Value.
  +  
  +internal_delete(Key, #mediator{n=N}) ->
  +  Servers = membership:server_for_key(key, N),
  +  MapFun = fun(Server) ->
  +    storage_server:delete(Server, Key)
  +  end,
  +  Responses = lib_misc:pmap(MapFun, Servers, []),
  +  [ok|_] = lists:filter(fun(Resp) -> ok = Resp end, Responses),
  +  ok.
positive.code: -behaviour(gen_server).
  
  %% API
  -export([start_link/1, join/1, get/1, put/2]).
  
  %% gen_server callbacks
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
negative.code: %% @end 
  %%--------------------------------------------------------------------
  start_link(_) ->
    gen_server:start_link({local, mediator}, ?MODULE, [], []).
  
  get(Key) -> 
    gen_server:call(mediator, {get, Key}).
  
  put(Key, Value) -> 
    gen_server:call(mediator, {put, Key, Value}).
  
  has_key(Key) -> 
    gen_server:call(mediator, {has_key, Key}).
  
  delete(Key) ->
    gen_server:call(mediator, {delete, Key}).
  
  
  
  