public void paint(Graphics g) {	
		if(GAME_STAGE == PLAYING || GAME_STAGE == PAUSED) {
		//Graphics2D g2d = (Graphics2D) g;
		Image bufferedImage = createImage(366, 366);
		Graphics2D buffer = (Graphics2D) bufferedImage.getGraphics();

		buffer.setColor(Color.DARK_GRAY);
		buffer.fillRect(0, 0, 400, 400 );
		buffer.drawImage(backGroundImage, 0, 0, this);
		buffer.setColor(Color.WHITE);
		buffer.drawImage(user.getImage(),(user.getX() - (user.getImage().getWidth(null) /2)),(user.getY() - (user.getImage().getHeight(null) /2)), this);
		buffer.setColor(Color.GRAY);
	    for(int a = 0; a < 60; a++) {
			buffer.drawArc(183 - (3 * a), 183 - (3*a),6*a ,6*a, ray.getStartAngle(), 270); 
			repaint();
	    }
	    buffer.setColor(Color.RED);
	    buffer.drawLine(183, 183,(int) ray.arc.getStartPoint().getX(),(int) ray.arc.getStartPoint().getY() );
	    buffer.drawLine(183, 183, (int)ray.arc.getEndPoint().getX(),(int) ray.arc.getEndPoint().getY() );
		buffer.setColor(Color.WHITE);
		Integer timeRun = (int) (System.currentTimeMillis()/10) - MusicGameBoard.getStartTime();
		String timeRunString = Integer.toString(timeRun);
		buffer.drawString("Score: " + user.getScore(), 2, 15);
		if(debug == true)
		{
			buffer.setColor(Color.RED);
			buffer.drawString(timeRunString,  0, 30);
			buffer.drawString("Beats So Far: " + MusicGameBoard.ray.beatsSoFar, 0, 40);
			buffer.drawString("Next Beat: " + MusicGameBoard.getBeats().get(MusicGameBoard.ray.beatsSoFar), 0, 50);
		}
		g.drawImage(bufferedImage, 0, 0, this);
		}
	}