refactor game status logic