public ArrayList DoubleMajor(ArrayList primary, ArrayList secondary){
		ArrayList<String> majorOne = primary;
		ArrayList<String> majorTwo = secondary;
		boolean matchFound = false;
		
		for(int i = 0; i<majorOne.size();i++){
			for(int j = 0; j<majorTwo.size();j++){
				if(majorOne.get(i).substring(majorOne.get(i).substring(24).indexOf(" ")).equals(
						majorTwo.get(j).substring(majorTwo.get(j).substring(24).indexOf(" ")))){
					if(matchFound == false){
						majorTwo.remove(j);
						j--;
						//whenever we find a shared element remove it from the second list
					}
					matchFound = true;
				}else if(majorTwo.get(j).substring(majorTwo.get(j).substring(24).indexOf(" ")).contains("*** ***")){
					majorTwo.remove(j);
					j--;
				}
			}
			if(!majorTwo.isEmpty()){
				if(majorOne.get(i).substring(majorOne.get(i).substring(24).indexOf(" ")).contains("*** ***")){
					majorOne.remove(i);
					i--;
				}
			}
			matchFound = false;
		}
		//after removing shared items + excess free electives, what remains
		// are classes needed. Append what's for major 2 onto major 1 list
		for(int k = 0; k<majorTwo.size();k++){
			majorOne.add(majorTwo.get(k));
		}
		
		//return shared list
		
		return majorOne;
		
		//a "bug" here is that it DOES NOT combine requirements. if the user needs to take
		// PHY 312 for one degree, and a 300+ level PHY course for the other, they are not
		// currently combined when they could be. This is due to under developed code 
		// based on time restraints for deployment.
	}