start refactor game modes