anchor.diff:  
   %% gen_server.
   init([]) ->
  -	{ok, #state{clients=[]}}.
  +    Clients = ets:new(xnest, [set]),
  +	{ok, #state{clients=Clients}}.
   
   %handle_call
   handle_call({join, ClientPid}, _From, State) ->
  +    Clients = State#state.clients,
  +
  +    NewClient = {ClientPid, #client_info{pid = ClientPid}},
       ClientPidStr = pid_to_list(ClientPid),
  +
  +    %%ets:insert return only true, consider to add try/catch
  +    ets:insert(Clients, NewClient),
  +    JoinedResult = {ok, iolist_to_binary([ClientPidStr, " is successfully joined the xnest!"])},
  +
  +    {reply, JoinedResult, State};
  +
  +handle_call({leave, ClientPid}, _From, State) ->
       Clients = State#state.clients,
  -    {JoinedResult, NewState} = case lists:member(ClientPid, Clients) of
  -        true -> 
  -            ResultBin = iolist_to_binary([ClientPidStr, " is already in the xnest!"]),
  -            {{ok, ResultBin}, State};
  -        false ->
  -            NewClients = [ClientPid | Clients],
  -            ResultBin = iolist_to_binary([ClientPidStr, " is successfully joined the xnest!"]),
  -            {{ok, ResultBin}, State#state{clients = NewClients}}
  -    end,
  -    {reply, JoinedResult, NewState};
  -handle_call({leave, ClientPid}, _From, State) ->
       ClientPidStr = pid_to_list(ClientPid),
  -    Clients = State#state.clients,
  -    {LeftResult, NewState} = case lists:member(ClientPid, Clients) of
  -        true ->
  -            NewClients = lists:delete(ClientPid, Clients),
  -            ResultBin = iolist_to_binary([ClientPidStr, " is successfully left the xnest!"]),
  -            {{ok, ResultBin}, State#state{clients = NewClients}};
  -        false ->
  -            ResultBin = iolist_to_binary([ClientPidStr, " is not in the xnest!"]),
  -            {{ok, ResultBin}, State}
  -    end,
  -    {reply, LeftResult, NewState};
  +
  +    ets:delete(Clients, ClientPid),
  +    LeftResult = {ok, iolist_to_binary([ClientPidStr, " is successfully left the xnest!"])},
  +
  +    {reply, LeftResult, State};
   
   handle_call({status, client_counts}, _From, State) ->
  -    ClientCOunts = length(State#state.clients),
  +    ClientCOunts = ets:info(State#state.clients, size),
   	{reply, {ok, ClientCOunts}, State};
   handle_call({status}, _From, State) ->
   	{reply, {ok, State}, State};
  
positive.code: 
  code_change(_OldVsn, State, _Extra) ->
  	{ok, State}.
  
negative.code: -record(state, {
      clients
  }).
  -record(client_info, {
      pid
  }).
  
  -include("lager.hrl").
  
  %% API.
  
  