anchor.diff:  
   
   %% @private
  -%% @doc Receive Message from self 
  -websocket_info({members}, Req, State) ->
  +%% @doc Receive command from self, and send self message (like pid) to js client 
  +websocket_info({'self'}, Req, State) ->
  +	ResponseMsg = make_response(self(), State#state.xnest_name, {'self', pid2binary(self())}),
  +	{reply, {text, ResponseMsg}, Req, State};
  +
  +%% @private
  +%% @doc Receive members command from self 
  +websocket_info({'member_count'}, Req, State) ->
   	XNestPid = State#state.xnest_pid,
   	{ok, Count} = xnest:status(XNestPid, client_counts),
  -	ResponseMsg = make_response(self(), State#state.xnest_name, {member_count, Count}),
  +	ResponseMsg = make_response(self(), State#state.xnest_name, {'member_count', Count}),
   	{reply, {text, ResponseMsg}, Req, State};
   
   %% @private
  
positive.code: -spec make_response(pid(), binary(), binary()) -> json().
  make_response(FromPid, Xnest, {Type, Msg}) ->
  	Time = time2binary(erlang:localtime()),
  	From = list_to_binary(pid_to_list(FromPid)),
  	Frame = [ {<<"from">>, From}
  		,{<<"xnest">>, Xnest}
  		,{<<"type">>, Type}
  
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("some one send a message:~ts", [Msg]),
  	xnest:input(XNestPid, {self(), text, {'normal', Msg}}),			%% Use xnest API to send message
  	{ok, Req, State};
  
  