private void generateTerritorySeeds(){

		boolean[][] assigned = new boolean[size][size];


		ArrayList<ArrayList<Tile>> territoryTiles = new ArrayList<ArrayList<Tile>>();
		for (int i = 0; i < territories.length; i ++){ // create a new list for each territory to house their tiles
			territoryTiles.add(new ArrayList<Tile>());
		}

		int numWithSeeds = 0;
		while (numWithSeeds < territoryTiles.size()){
			// get randomized coordinates for the tile
			int x = (int) ( Math.random() * (size - 2)) + 1;
			int y = (int) ( Math.random() * (size - 2)) + 1;

			Tile tile = tiles[x][y];
			boolean validTile = true;
			for (int i = 0; i < numWithSeeds; i ++)
				if (i != numWithSeeds){
					Tile otherTile = territoryTiles.get(i).get(0);// test against the other cities to ensure it isn't too close
					if (otherTile.distance(tile) < 5f){
						validTile = false;
						break;
					}
				}
			if (validTile){
				territoryTiles.get(numWithSeeds).add(tile);
				numWithSeeds ++;
				assigned[x][y] = true;
			}

		}

		for (int i = 0; i < territories.length; i ++){
			territories[i] = new Territory(territoryTiles.get(i), (short) i);
			territoryTiles.get(i).get(0).setTerritory(territories[i]);
			territories[i].initIcon();
		}

		growTerritorySeeds(assigned);


	}