moving more logic to the backend, gamestate is being changed on the backend