add game flow logic