public BufferedImage count(BufferedImage image){
		drops.clear();
		lines.clear();
		int width = image.getWidth();
		int height = image.getHeight();
		Graphics g = image.getGraphics();
		g.setColor(Color.RED);
		for(int i = 0; i < width; i += SCAN_WIDTH){
			for(int j = 0; j < height; j++){
				int pixel = image.getRGB(i, j);
				if(pixel == Color.white.getRGB()){
					if(i > 0){
						drops.add(j);
						lines.add(new DropLine(i, j));
						break;
					}
				}
			}
		}
		
		if(drops.size() > 0){
			double[] x = new double[drops.size()];
			double[] y = new double[drops.size()];
			
			for(int i = 0; i < drops.size(); i++){
				x[i] = i;
				y[i] = drops.get(i);
			}

			// thumb stuff
//			DropLine leftist = maxDropLine(lines);
//			System.out.println(leftist);
//			g.fillOval(leftist.x.intValue(), leftist.y.intValue(), MARKER_SIZE, MARKER_SIZE);
			
			DropLine tip = null;
			ArrayList<DropLine> fingerTips = countFingers(lines);
			for(int i = 0; i < fingerTips.size(); i++){
				tip = fingerTips.get(i);
				g.fillOval(tip.x.intValue(), tip.y.intValue(), MARKER_SIZE, MARKER_SIZE);
			}
			
			System.out.println(fingerTips);
			
			// show off
			Font f = new Font("Dialog", Font.PLAIN, 20);
			g.setFont(f);
			g.setColor(Color.WHITE);
			g.drawString("Fingers: " + fingerTips.size(), 5, 40);
			System.out.println("Fingers: " + fingerTips.size());
		} 
		g.dispose();
		return image;
	}