anchor.diff:  remove_hash(InfoHash) ->
       gen_server:call(?SERVER, {remove_hash, InfoHash}).
   
  +store_peer(IP, Port, InfoHash) ->
  +    gen_server:call(?SERVER, {store_peer, IP, Port, InfoHash}).
  +
  +remove_peer(IP, Port, InfoHash) ->
  +    gen_server:call(?SERVER, {remove_peer, IP, Port, InfoHash}).
  +
  +is_connected_peer(IP, Port, InfoHash) ->
  +    gen_server:call(?SERVER, {is_connected_peer, IP, Port, InfoHash}).
  +
   lookup(InfoHash) ->
       gen_server:call(?SERVER, {lookup, InfoHash}).
   
  
positive.code: %%                                      {stop, Reason, State}
  %% Description: Handling call messages
  %%--------------------------------------------------------------------
  handle_call({store_hash, InfoHash}, {Pid, _Tag}, S) ->
      Ref = erlang:monitor(process, Pid),
      ets:insert(S#state.info_hash_map, {InfoHash, Pid, Ref}),
  
negative.code: %% Description: Initiates the server
  %%--------------------------------------------------------------------
  init([]) ->
      {ok, #state{info_hash_map = ets:new(infohash_map, [named_table]),
  	        peer_map      = ets:new(peer_map, [bag, named_table])}}.
  
  %%--------------------------------------------------------------------
  %% Function: %% handle_call(Request, From, State) -> {reply, Reply, State} |
  