anchor.diff:  %% API functions
   %%====================================================================
   
  +-spec start_link() -> gen:start_ret().
   start_link() ->
   	gen_server:start_link({local, bc_manager_serv}, ?MODULE, [], []).
   
  +-spec create_game(BcManagerServ :: pid(), 
  +				  Privacy :: integer()) -> {ok, GameId :: integer(), BcGameFsm :: pid()} | 
  +											   {error, Reason :: string()}.
   create_game(BcManagerServ, Privacy) ->
   	gen_server:call(BcManagerServ, {create_game, Privacy}).
   
  +-spec get_game(BcManagerServ :: pid(), 
  +			   GameId :: integer()) -> {ok, BcGameFsm :: pid()} | 
  +										   {error, not_found}.
   get_game(BcManagerServ, GameId) ->
   	gen_server:call(BcManagerServ, {get_game, GameId}).
   
  +-spec remove_game(BcManagerServ :: pid(), 
  +				  GameId :: integer()) -> ok.
   remove_game(BcManagerServ, GameId) ->
   	gen_server:cast(BcManagerServ, {remove_game, GameId}).
   
  
positive.code: 			{noreply, State#state{games = dict:erase(GameId, GameDict)}};
  		_ ->
  			{noreply, State}
  	end.
  
negative.code: 			{reply, {error, not_found}, State}
  	end.
  
  -spec handle_cast(Request :: term(), State :: term()) -> Result when
  	Result :: {noreply, NewState}
  			| {noreply, NewState, Timeout}
  			| {noreply, NewState, hibernate}
  			| {stop, Reason :: term(), NewState},
  	NewState :: term(),
  	Timeout :: non_neg_integer() | infinity.
  handle_cast({remove_game, GameId}, _From, State) ->
  	GameDict = State#state.games,
  	{noreply, State#state{games = dict:erase(GameId, GameDict)}}.
  
  -spec handle_info(Info :: timeout | term(), State :: term()) -> Result when
  	Result :: {noreply, NewState}
  			| {noreply, NewState, Timeout}
  			| {noreply, NewState, hibernate}
  			| {stop, Reason :: term(), NewState},
  	NewState :: term(),
  	Timeout :: non_neg_integer() | infinity.
  handle_info({'DOWN', Ref, process, _Pid, _Reason}, 
  				#state{games = GameDict} = State) ->
  	Games = dict:to_list(GameDict),
  