public void paint(Graphics g) {
		// clear previous image
		g.setColor(Color.WHITE);
		g.fillRect(0, 0, getWidth(), getHeight());
		// draw grid
		BufferedImage myImage = null;
		try {
			java.net.URL myImageURL = TicTacToe.class
					.getResource("images/grid.png");
			myImage = ImageIO.read(myImageURL);
		} catch (IOException e) {
			System.out.println("Image: grid error");
		}
		g.drawImage(myImage, 0, 0, this);
                
                for(int i = 0; i < playedNodes.length; i++){
                    if(playedNodes[i] != null){
                        java.net.URL myImageURL;
                        
                        if(playedNodes[i].getChar() == 'x'){                           
                        myImageURL = TicTacToe.class.getResource("images/x.png");                           
                        }
                        else{
                            myImageURL = TicTacToe.class.getResource("images/o.png");
                        }
                    
                        try{
                            myImage = ImageIO.read(myImageURL);
                        }
                        catch(IOException e){
                            System.out.println("Image error");
                        }
                        int[] coord = playedNodes[i].getCoord();
                        int[] rectXY = createSelectionSquares(coord[0], coord[1]);
                        g.drawImage(myImage, rectXY[0] - _SquareSelect/2, rectXY[1]- _SquareSelect/2, this);
                        
                    }
                }
		// draw choice
		// if (p1X >= 0 && p1Y >= 0) {
		// try {
		// java.net.URL myImageURL;
		// // toggle between O & X placement
		// if (!blnXY)
		// myImageURL = TicTacToe.class.getResource("images/o.png");
		// else
		// myImageURL = TicTacToe.class.getResource("images/x.png");
		// myImage = ImageIO.read(myImageURL);
		// } catch (IOException e) {
		// System.out.println("Image: O error");
		// }
		// //*************temp*************
		// p1X = p1X - (myImage.getWidth() / 2);
		// p1Y = p1Y - (myImage.getHeight() / 2);
		// //*************temp*************
		// g.drawImage(myImage, p1X, p1Y, this);
		// blnXY = !blnXY; // toggle XY placement
		// }
		// ************TEMP************
		// create selection zones
		if (showSquares) {

			for (int row = 0; row < playableNodes.length; row++) {
                            if(playableNodes[row] != null){
				int[] coord = playableNodes[row].getCoord();
				int[] rectXY = createSelectionSquares(coord[0], coord[1]);
				g.setColor(Color.GREEN);
				g.drawRect(rectXY[0], rectXY[1], _SquareSelect, _SquareSelect);
                            }
			}
		}
		
		if(clickedOn != null){
			int[] coord = clickedOn.getCoord();
			int[] rectXY = createSelectionSquares(coord[0], coord[1]);
			g.setColor(Color.BLUE);
			g.drawRect(rectXY[0] + 5, rectXY[1] + 5, _SquareSelect - 10, _SquareSelect - 10);
		}

		// ************TEMP************
	}