use message queue
move game state to the cache