game flow is functional