MineSweeper cell class -keeps track of what is in the cell, and what is around it board class -stores cells, responsible for creating a valid game and enforcing rules game class -gets information from user and presenting the state of the game