anchor.diff:      Cards = seats:show_cards_from_player(StateData#state.seats, Player),
       {reply, Cards, game_in_progess, StateData}.
   
  +game_in_progess({timeout, _Ref, Action}, State) ->
  +    io:format("last player did not take action in time~n"),
  +    {_Reply, NewStateName, NewState} = handle_action_(State, Action),
  +    {next_state, NewStateName, NewState}.
  +
   handle_event(_Event, StateName, StateData) ->
   	{next_state, StateName, StateData}.
   
  
positive.code:         _ -> game_in_progess
      end,
  
      case NewState#state.actor of
          undefined -> ok;
          NextActor -> player:signal_turn(NextActor#seat.player, NewState#state.actor_options)
      end,
      {ok, NewStateName, NewState}.
  
  draw_community_cards_(#state{community_cards=CC,deck=Deck,seats=Seats}=State, N, NextStage) ->
      deck:draw_cards(Deck, 1), % burn card
  
negative.code:     NextSeat = seats:get_next_seat(Seats, DealTo),
      deal_cards_(State, NextSeat, TimesLeft-1).
  
  handle_action_(#state{seats=Seats,actor=Actor,stage=Stage,timer=Timer,timeout=Timeout}=StateData, Action) ->
      io:format("received action ~p from ~p~n", [Action, Actor#seat.player]),
      case Timer of
          undefined -> ok;
          _ -> gen_fsm:cancel_timer(Timer)
      end,
      seats:handle_action(Seats, Actor, Action),
      IsHandOver = seats:is_hand_over(Seats),
      IsBettingComplete = seats:is_betting_complete(Seats),
  