public void generatePotentialPlacements(Rack rack) {
		int[] hookPoints = getPotentialHookPoints();
		for (int hookPoint : hookPoints) {
			if (hookPoint == -1) break;
			String verticalPrefix = getVerticalPrefix(hookPoint);
			String verticalSuffix = getVerticalSuffix(hookPoint);
			String horizontalPrefix = getHorizontalPrefix(hookPoint);
			String horizontalSuffix = getHorizontalSuffix(hookPoint);
			
			//
			RackIterator it = rack.getRackIterator();
			
			char c = it.next();
			String vw = verticalPrefix + c + verticalSuffix;
			String hw = horizontalPrefix + c + horizontalSuffix;
			boolean tryHorizontal = false;
			boolean tryVertical = false;
			if (wordList.isWord(vw)) tryHorizontal = true;
			if (wordList.isWord(hw)) tryVertical = true;
			//special treatment of initial play (can't both be of length 1)
			boolean validPlay = tryHorizontal && tryVertical && (vw.length() > 1 && hw.length() > 1);
			if (validPlay) record();
		}
	}