public int whitespace(int[][] board) {
		//the counter for whitespace
		int counter=0;
	
		/*
		 * for each point, we only want to calculate it
		 * if it has a unique X value from all other pieces
		 * so we don't overcount whitespace.
		 * 
		 * So only count unique points. When we do this,
		 * then go through each square below the point
		 * and sum up the white space, stopping if we hit
		 * a piece that is full.
		 * 
		 */
		for(Point point:points) {
			//if the piece is unique or not
			boolean dontCount = false;
		
			//see if piece is unique
			for(Point point2:points) {
				if( ! point.equals(point2) ) {
					if( point2.x == point.x && point2.y < point.y ) {
						dontCount = true;
					}
				}			
			}
			
			//if piece is unique, calculate whitespace
			if( ! dontCount ) {
				//get absolute coords
				int pointx = this.center.x + point.x;
				int pointy = this.center.y + point.y;
				
				//calculate whitespace
				if( this.isOnBoard() ) {
					for(int i=pointy; i>=0; i--) {
						//whitespace here
						if( board[i][pointx] == 0 ) {
							counter ++;
						//no whitespace, stop
						} else {
							break;
						}
					}
				}
			}
		}
		
		//return the counter of whitespace
		return counter;
	}