public Grid(){
		setIconImage(Toolkit.getDefaultToolkit().getImage(Grid.class.getResource("/img/KT_Logo.png")));
		setVisible(true);
		setTitle("Kings 'N' Things");
		setResizable(false);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 1280, 700);
		contentPane = new JPanel(){ 
		
		 /**
			 * 
			 */
			private static final long serialVersionUID = 1L;

		@Override
		public void paintComponent(Graphics g) {  
			                      Image img = Toolkit.getDefaultToolkit().getImage(  
			                                 Grid.class.getResource("/img/background.png"));  
			                      g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);  
			                 }  
			             };     
		contentPane.setBackground(new Color(238, 238, 238));

		
		
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
	

		
		initializeTiles();			// start game
		
		
		/*Add dice that roll to the game board */
		
        final ImageIcon[] img = new ImageIcon[7]; 
        img[0] = new ImageIcon(Grid.class.getResource("/img/roll.png")); 
        img[1] = new ImageIcon(Grid.class.getResource("/img/1.png")); 
        img[2] = new ImageIcon(Grid.class.getResource("/img/2.png")); 
        img[3] = new ImageIcon(Grid.class.getResource("/img/3.png")); 
        img[4] = new ImageIcon(Grid.class.getResource("/img/4.png")); 
        img[5] = new ImageIcon(Grid.class.getResource("/img/5.png")); 
        img[6] = new ImageIcon(Grid.class.getResource("/img/6.png"));
        
        final JButton button = new JButton();  
        button.setBounds(797, 129, 68, 66);                               // bounds for button 
        button.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));  
        button.setBorderPainted(false);  
        button.setContentAreaFilled(false);  
        button.setIcon(img[0]);           
        getContentPane().add(button);                                   //Add Button  
          
        button.addActionListener(new ActionListener() {                 //Button Listener/* 
        @Override
    public void actionPerformed(ActionEvent e) {                         
        lastRoll = Dice(); 
        txt.append("\n----------------------------------\nYou rolled a: " + lastRoll); 
        button.setIcon(img[lastRoll]); 
        rolled = true;
    } 
        });                                                                      
					

        /*****************************
         * Start the game			*
         **************************/
        
		final JButton btnNewButton = new JButton("New Game");
		btnNewButton.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				myDeck.getDeck().clear();
				// after start button button is clicked
				//myDeck.fillDeck();
				myDeck.fillDeckTESTPLAN();
				thingsBag.fillBag();
				Collections.shuffle(thingsBag.getThingsBag());
				modelThingsBag.addAll(thingsBag.getThingsBag());
				addterrains(JLabelList);
				startGame(txt); // initialize the variables and players
				btnNewButton.setVisible(false);		//disable the start new game button until we figure out a way to reset the game.
				txt.append("\nPlease choose your terrains player by player\n");
			}
		}); 
		
		btnNewButton.setBounds(20, 47, 117, 29);
		contentPane.add(btnNewButton);
		txt.setBorder(new EmptyBorder(0, 0, 0, 0));
		txt.setForeground(Color.WHITE);
		txt.setBackground(Color.BLACK);
	
		// create the scroll bar
			
		txt.setLineWrap(true);
		txt.setEditable(false);
		txt.setWrapStyleWord(true);
		txt.setCaretPosition(txt.getDocument().getLength());
		DefaultCaret caret = (DefaultCaret)txt.getCaret();
		caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

		JScrollPane scroll = new JScrollPane (txt, 
		ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
		scroll.setSize(300, 300);
		scroll.setLocation(963, 227);
		contentPane.add(scroll);
		
		p1button = new JButton("P1");
		p1button.setBounds(719, 28, 48, 48);
		p1button.setIcon(new ImageIcon(Grid.class.getResource("/img/p1.png")));
		p1button.setSelectedIcon(new ImageIcon(Grid.class.getResource("/img/p1s.png")));
		p1button.setSelected(true);
		contentPane.add(p1button);
		
		p2button = new JButton("P2");
		p2button.setBounds(768, 28, 48, 48);
		p2button.setIcon(new ImageIcon(Grid.class.getResource("/img/p2.png")));
		p2button.setSelectedIcon(new ImageIcon(Grid.class.getResource("/img/p2s.png")));
		contentPane.add(p2button);
		
		p3button = new JButton("P3");
		p3button.setBounds(817, 28, 48, 48);
		p3button.setIcon(new ImageIcon(Grid.class.getResource("/img/p3.png")));
		p3button.setSelectedIcon(new ImageIcon(Grid.class.getResource("/img/p3s.png")));
		contentPane.add(p3button);
		
		p4button = new JButton("P4");
		p4button.setBounds(866, 28, 48, 48);
		p4button.setIcon(new ImageIcon(Grid.class.getResource("/img/p4.png")));
		p4button.setSelectedIcon(new ImageIcon(Grid.class.getResource("/img/p4s.png")));
		contentPane.add(p4button);
		
		comboBox = new JComboBox();
		comboBox.setEnabled(false);
		comboBox.setBounds(706, 237, 245, 27);
		contentPane.add(comboBox);
		
		thing1 = new JLabel("");
		thing1.setBounds(941, 77, 57, 57);
		thing1.setName("thing1");
		contentPane.add(thing1);
		
		thing2 = new JLabel("");
		thing2.setBounds(1010, 78, 57, 57);
		thing2.setName("thing2");
		contentPane.add(thing2);
		
		thing3 = new JLabel("");
		thing3.setBounds(1079, 78, 57, 57);
		thing3.setName("thing3");
		contentPane.add(thing3);
		
		thing4 = new JLabel("");
		thing4.setBounds(1148, 78, 57, 57);
		thing4.setName("thing4");
		contentPane.add(thing4);
		
		thing5 = new JLabel("");
		thing5.setBounds(1217, 78, 57, 57);
		thing5.setName("thing5");
		contentPane.add(thing5);
		
		thing6 = new JLabel("");
		thing6.setBounds(941, 157, 57, 57);
		thing6.setName("thing6");
		contentPane.add(thing6);
		
		thing7 = new JLabel("");
		thing7.setBounds(1010, 158, 57, 57);
		thing7.setName("thing7");
		contentPane.add(thing7);
		
		thing8 = new JLabel("");
		thing8.setBounds(1079, 158, 57, 57);
		thing8.setName("thing8");
		contentPane.add(thing8);
		
		thing9 = new JLabel("");
		thing9.setBounds(1148, 158, 57, 57);
		thing9.setName("thing9");
		contentPane.add(thing9);
		
		thing10 = new JLabel("");
		thing10.setBounds(1217, 158, 57, 57);
		thing10.setName("thing10");
		contentPane.add(thing10);
		
		ThingsLabels.add(thing1);
		ThingsLabels.add(thing2);
		ThingsLabels.add(thing3);
		ThingsLabels.add(thing4);		
		ThingsLabels.add(thing5);
		ThingsLabels.add(thing6);
		ThingsLabels.add(thing7);
		ThingsLabels.add(thing8);
		ThingsLabels.add(thing9);
		ThingsLabels.add(thing10);
		
		for (int i=0; i<10; i++) ThingsLabels.get(i).addMouseListener(this);
		
		JLabel thingsLogo = new JLabel("");
		thingsLogo.setIcon(new ImageIcon(Grid.class.getResource("/img/things_logo.png")));
		thingsLogo.setBounds(941, 6, 322, 66);
		contentPane.add(thingsLogo);
		
		
		thinglabels = new JLabel[BAG_SIZE];
		for (int i=0; i<BAG_SIZE; i++){
			thinglabels[i] = new JLabel("");
			thinglabels[i].setBounds(20, 20, 57, 57);
			thinglabels[i].setVisible(false);
		}
	    
	    // 37 labels per array for max amount of ownership
	    p1labels = new JLabel[DECK_SIZE];
	    for (int i=0; i<DECK_SIZE; i++){
	    	p1labels[i] = new JLabel("");
	    	p1labels[i].setBounds(1, 1, 57, 57);
	    	p1labels[i].setIcon(new ImageIcon(Grid.class.getResource("/img/Mouse_Player1.png")));
	    	p1labels[i].setVisible(false);
	    }
	    p2labels = new JLabel[DECK_SIZE];
	    for (int i=0; i<DECK_SIZE; i++){
	    	p2labels[i] = new JLabel("");
	    	p2labels[i].setBounds(1, 1, 57, 57);
	    	p2labels[i].setIcon(new ImageIcon(Grid.class.getResource("/img/Mouse_Player2.png")));
	    	p2labels[i].setVisible(false);
	    }
	    p3labels = new JLabel[DECK_SIZE];
	    for (int i=0; i<DECK_SIZE; i++){
	    	p3labels[i] = new JLabel("");
	    	p3labels[i].setBounds(1, 1, 57, 57);
	    	p3labels[i].setIcon(new ImageIcon(Grid.class.getResource("/img/Mouse_Player3.png")));
	    	p3labels[i].setVisible(false);
	    }
	    p4labels = new JLabel[DECK_SIZE];
	    for (int i=0; i<DECK_SIZE; i++){
	    	p4labels[i] = new JLabel("");
	    	p4labels[i].setBounds(1, 1, 57, 57);
	    	p4labels[i].setIcon(new ImageIcon(Grid.class.getResource("/img/Mouse_Player4.png")));
	    	p4labels[i].setVisible(false);
	    }
	    towerLabels = new JLabel[4];
	    for (int i=0; i<4; i++){
	    	towerLabels[i] = new JLabel("");
	    	towerLabels[i].setBounds(1, 1, 40, 40);
	    	towerLabels[i].setIcon(new ImageIcon(Grid.class.getResource("/img/tower.png")));
	    	towerLabels[i].setVisible(false);
	    }
	    
	    
				
	}