anchor.diff:  
   %% @doc parse_msg
   %% @doc you can do something here in particular 
  --spec parse_msg(binary(), any()) -> binary() | ok.
  +-spec parse_msg(binary(), any()) -> any().
   parse_msg(RawMessage, State) -> 
   	Result = binary:split(RawMessage, <<":">>),
   	%lager:info("Result of split : ~p", [Result]),
  
positive.code: 
  
  %% @doc change nickname 
  -spec change_nickname(binary(), any()) -> binary() | ok.
  change_nickname(NewName, State) -> 
  	XNestPid = State#state.xnest_pid,
      {ok, _Result} = xnest:change_binding(XNestPid, self(), NewName),		%% use xnest API change_binding to change name 
  
negative.code: %% @doc Receive Message from client and send it to XNest
  websocket_handle({text, Msg}, Req, State ) ->
  	lager:info("ip: ~p send a message:~ts", [element(8, Req), Msg]),
  	parse_msg(Msg, State),			%%parse  message and do it with type
  	{ok, Req, State};
  
  %% @private
  %% @doc Receive Message from client and send it to XNest, But unused
  