anchor.diff:  handle_info({'DOWN', Ref, process, Pid, _}, StateName,
   		#state{game = BcGame,
   			   players = Players} = State) ->
  -	case lists:filter(fun({K, #{monitor := Monitor}}) -> 
  -					  	Monitor =:= Ref
  -				 	  end, dict:to_list(Players)) of
  +	case lists:filter(
  +		 	fun({K, #{monitor := Monitor}}) -> 
  +				Monitor =:= Ref
  +			end, dict:to_list(Players)) of
   		[{PlayerId, _}] ->
  -			started({player_quit, PlayerId}, State);
  +			case StateName of
  +				started ->
  +					started({player_quit, PlayerId}, State);
  +				pending ->
  +					pending({player_quit, PlayerId}, State);
  +				_ ->
  +					{stop, {error, "Incompatible State", State}}
  +			end;
   		_ ->
   			ok
   	end.
  
positive.code: 
  find_player_id(PlayerPid, Players) ->
  	List = dict:to_list(Players),
  	[{Id, Pid}] = lists:filter(fun({_, Pid} = Tuple) when Pid =:= PlayerPid -> Tuple end, List),
  	Id.
  
  find_players(PlayerIds, PlayerDict) ->
  
negative.code: 			{ok, BcPlayerServ} = bc_input_serv:create_player_serv(BcInputServ, BcPlayer),
  			case pending_players_changed(GameId, UpdatedPlayers) of
  				{ok, started} ->
  					BcPlayers = 
  						lists:map(
  							fun({_, V}) -> 
  								maps:get(player, V) 
  							end, dict:to_list(UpdatedPlayers)),
  					bc_input_serv:spawn_player_bases(BcInputServ, BcPlayers),
  					gen_event:notify(GameEventPid, {game_started, BcPlayers}),
  					{reply, {ok, PlayerId, Team, BcPlayerServ}, started, UpdatedState};
  