anchor.diff:  
       Wlan = get_wlan_by_bss(BSS, State0),
       {Reply, State} = internal_new_station(Wlan, SA, BSS, State0),
  -    reply(Reply, run, State);
  -
  -run(Event = {add_station, BSS, MAC, StaCaps, CryptoState}, From, State0) ->
  +    reply(From, Reply, run, State);
  +
  +run({call, From}, Event = {add_station, BSS, MAC, StaCaps, CryptoState}, State0) ->
       lager:warning("in RUN got expexted: ~p", [Event]),
       Wlan = get_wlan_by_bss(BSS, State0),
       lager:warning("WLAN: ~p", [Wlan]),
       State = internal_add_station(Wlan, MAC, StaCaps, CryptoState, response_fsm_reply(From), State0),
       next_state(run, State);
   
  -run({get_station_config, BSS}, _From, State) ->
  +run({call, From}, {get_station_config, BSS}, State) ->
       Reply =
   	case get_wlan_by_bss(BSS, State) of
   	    Wlan = #wlan{state = running} ->
  
positive.code: %%% API
  %%%===================================================================
  
  %%--------------------------------------------------------------------
  %% @doc
  %% Creates a gen_fsm process which calls Module:init/1 to
  %% initialize. To ensure a synchronized start-up procedure, this
  %% function does not return until Module:init/1 has returned.
  %%
  %% @spec start_link() -> {ok, Pid} | ignore | {error, Error}
  %% @end
  %%--------------------------------------------------------------------
  start_link(WTPControlChannelAddress) ->
      gen_fsm:start_link(?MODULE, [WTPControlChannelAddress], [{debug, ?DEBUG_OPTS}]).
  
  handle_packet(WTPControlChannelAddress, Packet) ->
      try
  
negative.code: -export([add_station/5, del_station/3, send_80211/3, ieee_802_11_ie/2,
  	 rsn_ie/2, rsn_ie/3, get_station_config/2]).
  
  %% gen_statem callbacks
  -export([callback_mode/0, init/1,
  	 listen/3, idle/3, join/3, configure/3, data_check/3, run/3,
  	 terminate/3, code_change/4]).
  
  -export([handle_packet/2, handle_data/3]).
  
  