public Boolean checkForVerticalRoom(int[][] boardDisplay) {
		ArrayList<Point> pointArray = new ArrayList<Point>();// create an array of points to hold the "vulnerable" points
		// the "vulnerable" points will be the furthest down points w/ value > 0 for each column
		Point p1;
		for (int j = 0; j < lengthOfPiece; j++) {// loops through the rows
			for (int i = heightOfPiece-1; i >= 0 ; i--) {// loops through the columns of each row, starting from the bottom
				if (pieceBox[j][i] != 0) {
					pointArray.add( new Point(j,(i+1)));// add one to the y-value because that will be its location if it moves down
					break;
				}
			}
		}
		// checks to see if the points directly below the shape have anything other than a 1
		for (int n = 0; n < pointArray.size(); n++) {
			p1 = pointArray.get(n);
			try {
				if (boardDisplay[(int) (getFarLeftValue()+p1.getX())][(int)  (getTopValue()+p1.getY())] != 0) {
					return false;
				}
			}
			catch (ArrayIndexOutOfBoundsException e) { // catches the error in case the next place is outside of the game
				//which is the same error caught below so no need for any handling code here
			}
		}
		if (getBottomValue() >= 21) {
			return false;
		}
		return true;
	}