refactored ReversiModel.