public void setup() throws BoardErrorException {
		// setting up the Board 
		// board is composed of JButton 
		// and a 3x3 frame 


		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // when the user closes the window JFrame  will exit 

		//going to design the board now 
		//the dimensations of the board = sizeOfBoard

		frame.setLayout(new GridLayout(row, col)); // this is the outline rows * col 
		//Game.SizeOfBoard = Game.row * Game.col; 
		// frame.setSize(100,100); // size of the board 
		//JComponent popup = new JPanel();
		//SwingUtilities.getWindowAncestor(popup).setSize(300,300);


		//frame.pack(); // sizes out row * col based on what we define those numbers as
		//i.e 3x3

		frame.setBounds(0,0,500,500); // location at 0,0, size 500 x 500 
		//frame.getContentPane().setBackground(Color.black); //color of outer most layer
		Border border = new LineBorder(Color.DARK_GRAY, 2); // color of JButton border 

		System.out.println("Your board game is being created!");

		try{
			frame.setVisible(true); // shows the board, 
			// this is going to display everything to the screen 
			System.out.println("Board is now visable");
		}
		catch(Exception e){
			System.out.println("Board was not displayed");
		}
	
		// 9 different buttons, for every index there will be a button 
		for(int i =0; i<sizeOfBoard;i++){ // going to fill the board with clickableButtons by looping through every index and placing a button there 
		final int move = i;

			clickButton[i] = new JButton(); // at a certain index there is a new button 
			clickButton[i].setSize(250,250); // size of each button 
			clickButton[i].setBackground(Color.WHITE); // color of the JButton 
			
			/*UIManager.put("DisabledButton.background",Color.GREEN);
			UIManager.put("Button.forground",Color.RED);*/
		
			frame.add(clickButton[i]); // we are going to add the actual the button at that index on the frame 

			clickButton[i].setFont(new Font("Arial", Font.BOLD, 40)); // size of the text 
			//clickButton[i].setForeground(Color.RED);// color of text 
			clickButton[i].setBorder(border); // adding border 

			clickButton[i].getModel().addChangeListener(new ChangeListener() { //going to overRide what happens when we rollover and press a Butotn 

				public void stateChanged(ChangeEvent e) {
					ButtonModel button = (ButtonModel) e.getSource(); // manages the state of the button, i.e lets me control what happens to the button 

				  if(clickButton[move] != null){ // if we do not include this argument 
					  // the buttons are not made yet on the new game, meaning clickButton[i] = null
					  //so boolean(!button.isRollover()) will return true, since on the new game you can not have your mouse hovered over 
					  // but when it returns true, it will return a null value, giving a null pointer exception 
					  // so best thing to do, is to only run these cases below when the buttons are not null
					  
					if (button.isRollover()) { // when the mouse hovers over the index 
						clickButton[move].setBackground(Color.BLACK); // color will equal black 
					}
					else if(!button.isRollover()){ // when the button is not hovered over
						 clickButton[move].setBackground(Color.WHITE); // color will be whte, just like our background 
						//System.out.println("Not Pressed");
					}
					
				}
				}
			});


			clickButton[i].addActionListener(new ActionListener() { 

				//our click events, going to override to let it know what we want to happen
				//once we click on the button
				public void actionPerformed(ActionEvent e) {
					try {

						clickButton[move].setEnabled(false); //going to disable the button after it is clicked 
						//ORDER: button gets clicked first, then the test is added
						choice.mouseListener(e, move); // our mouseListenerEvent in game class 

						//
					} catch (ButtonsNotMadeException
							| ButtonCanNotBeClickedException
							| WinnerErrorException e1) {

						e1.printStackTrace();
					}
				}
			});			
		}
	}