anchor.diff:      econfig:get_value(config, "DEFAULT").
   
   open_store() ->
  -    bitcask:open(?DATADIR, [read_write]).
  +    Dir = ?DATADIR ++ get_config(?NAME),
  +    bitcask:open(Dir, [read_write]).
   
   
   listen_to_clients(Port) ->
       %% Listen to all UDP clients.
       spawn_link(fun() -> handle_client_connections(Port) end).
   
  -listen_to_nodes(Arbiter) ->
  +listen_to_nodes() ->
       Port = get_config(?NODE_PORT),
       {ok, Socket} = gen_udp:open(Port, [binary, {active, false}]),
       io:format("Listening to node port ~p~n", [Port]),
  -    node_loop(Arbiter, Socket, maps:new(), 0).
  -
  -
  -node_loop(Arbiter, Socket, RequestMap, RequestCounter) ->
  +    node_loop(Socket, maps:new(), 0).
  +
  +
  +node_loop(Socket, RequestMap, RequestCounter) ->
       inet:setopts(Socket, [{active, once}]),
       receive
           {udp, Socket, Host, Port, Bin} ->
  
positive.code:     spawn_link(fun() -> start_procs() end),
      % Arbiter which handles local io
      Arbiter = spawn_link(fun() -> local_io(0) end),
      % listen to internode communication
      spawn_link(fun() -> listen_to_nodes(Arbiter) end),
      % proc to keep track of nodes
      NodeIPs = get_config(?NODE_IPS),
      io:format("Node IPs: ~p~n", [NodeIPs]),
  
negative.code:     gen_udp:send(Socket, Host, Port, request_pb:encode({request, Method, Key, Value})).
  
  
  handle_client_get(Socket, Host, Port, Key) ->
      DBHandle = open_store(),
      case bitcask:get(DBHandle, Key) of
          {ok, Value} ->
  