updated game flow