public void render(Graphics2D g){
		Graphics2D g2d = (Graphics2D)finalBoard.getGraphics();
		g2d.drawImage(gameBoard, 0, 0, null);
		
		for (int row = 0; row < ROWS; row++) {
			for (int col = 0; col < COLS; col++) {
				Tile current = board[row][col];
				if(current == null) continue;
				current.render(g2d);
			}
		}
		
		g.drawImage(finalBoard, x, y, null);
		g2d.dispose();
		
		g.setColor(Color.LIGHT_GRAY);
		g.setFont(scoreFont);
		g.drawString("" + score, 30, 40);
		g.setColor(Color.red);
		g.drawString("Best " + highScore, Game.WIDTH - DrawUtils.getMessageWidth("Best: " + highScore,  scoreFont, g)-20, 40);
		g.setColor(Color.black);
		g.drawString("Time: "+ formattedTime, 30, 90);
		g.setColor(Color.red);
		g.drawString("Fastest: " + formatTime(fastestMS), 
				Game.WIDTH - DrawUtils.getMessageWidth("Fastest: " + formatTime(fastestMS), scoreFont, g)- 20, 90);
	}