anchor.diff:  			end;
   		{error, Reason} = Error ->
   			{stop, Error, State}
  -	end.
  -
  +	end;
  +started(Event, State) ->
  +	{next_state, started, State}.
  +
  +-spec handle_event(Event :: term(), StateName :: atom(), StateData :: term()) -> Result when
  +	Result :: {next_state, NextStateName, NewStateData}
  +			| {next_state, NextStateName, NewStateData, Timeout}
  +			| {next_state, NextStateName, NewStateData, hibernate}
  +			| {stop, Reason, NewStateData},
  +	NextStateName :: atom(),
  +	NewStateData :: term(),
  +	Timeout :: non_neg_integer() | infinity,
  +	Reason :: term().
  +handle_event(Event, StateName, State) ->
  +	{next_state, StateName, State}.
  +
  +-spec handle_sync_event(Event :: term(), From :: {pid(), Tag :: term()}, StateName :: atom(), StateData :: term()) -> Result when
  +	Result :: {reply, Reply, NextStateName, NewStateData}
  +			| {reply, Reply, NextStateName, NewStateData, Timeout}
  +			| {reply, Reply, NextStateName, NewStateData, hibernate}
  +			| {next_state, NextStateName, NewStateData}
  +			| {next_state, NextStateName, NewStateData, Timeout}
  +			| {next_state, NextStateName, NewStateData, hibernate}
  +			| {stop, Reason, Reply, NewStateData}
  +			| {stop, Reason, NewStateData},
  +	Reply :: term(),
  +	NextStateName :: atom(),
  +	NewStateData :: term(),
  +	Timeout :: non_neg_integer() | infinity,
  +	Reason :: term().
  +handle_sync_event(Event, From, StateName, StateData) ->
  +	{reply, ok, StateName, StateData}.
  +
  +-spec handle_info(Info :: term(), StateName :: atom(), StateData :: term()) -> Result when
  +	Result :: {next_state, NextStateName, NewStateData}
  +			| {next_state, NextStateName, NewStateData, Timeout}
  +			| {next_state, NextStateName, NewStateData, hibernate}
  +			| {stop, Reason, NewStateData},
  +	NextStateName :: atom(),
  +	NewStateData :: term(),
  +	Timeout :: non_neg_integer() | infinity,
  +	Reason :: normal | term().
   handle_info({'DOWN', Ref, process, Pid, _}, StateName,
   		#state{game = BcGame,
   			   players = Players} = State) ->
  
positive.code: 			end;
  		_ ->
  			ok
  	end.
  
  terminate(Reason, StateName, State) ->
  	io:format("BcGameFsm terminates with ~p~n", [Reason]),
  	ok.
  
  %%====================================================================
  %% Internal functions
  
negative.code: 						 team = 1,
  						 players = dict:new()}, ?TIMEOUT}.
  
  %%%%
  %% state/3
  %%%%
  
  -spec pending(Event :: term(), From :: {pid(), Tag :: term()}, StateData :: term()) -> Result when
  	Result :: {reply, Reply, NextStateName, NewStateData}
  			| {reply, Reply, NextStateName, NewStateData, Timeout}
  			| {reply, Reply, NextStateName, NewStateData, hibernate}
  			| {next_state, NextStateName, NewStateData}
  			| {next_state, NextStateName, NewStateData, Timeout}
  			| {next_state, NextStateName, NewStateData, hibernate}
  			| {stop, Reason, Reply, NewStateData}
  			| {stop, Reason, NewStateData},
  	Reply :: term(),
  	NextStateName :: atom(),
  	NewStateData :: atom(),
  	Timeout :: non_neg_integer() | infinity,
  	Reason :: normal | term().
  pending({player_join, #{player_pid := PlayerPid, 
  						handle := Handle}},
  			_From, #state{game = BcGame,
  