anchor.diff:  
   
   -record(state, {
  -	xnest_name = <<>> :: binary(),
  -	xnest_pid  = <<>> :: pid()
  +	nickname	= <<>> :: binary(),
  +	xnest_name	= <<>> :: binary(),
  +	xnest_pid	= <<>> :: pid()
   }).
   
   
  
positive.code: %% @private
  websocket_init(_TransportName, Req, _Opts) ->
  	{XNestName, Req1} = parse_xnest_name(Req),
  	self() ! {'self'},		%% send a command to self 
  	{ok, XNestPid} = join_xnest(XNestName),
  	State = #state{
  		xnest_name	= XNestName,
  		xnest_pid	= XNestPid
  	},
  	Req2 = cowboy_req:set_resp_header(<<"access-control-allow-origin">>, <<"*">>, Req1),
  	self() ! {'member_count'},		%% send a command to self 
  	{ok, Req2, State}.
  
  
  
  
negative.code: %% @doc Receive Message from client and send it to XNest
  websocket_handle({text, Msg}, Req, State ) ->
  	XNestPid = State#state.xnest_pid,
  lager:info("ip: ~p send a message:~ts", [element(8, Req), Msg]),
  	xnest:input(XNestPid, {self(), text, {'normal', Msg}}),			%% Use xnest API to send message
  	{ok, Req, State};
  
  