public static ArrayList<Card> readCards(String filename){
		ArrayList<Card> cardList = new ArrayList<Card>();
		
		File XMLFile = new File(filename);
		
		//get Scanner object
		Scanner scan;
			try {
				scan = new Scanner(XMLFile);
			} catch (FileNotFoundException e) {
				System.out.println(filename + " not found");
				return null;
			}
			
		//get through initial non-card XML information
		while(!scan.next().equals("<cards>")){};
		
		boolean doneParsing = false;
		while(doneParsing == false){								//while not done parsing
			if(scan.next().equals("<card>")){							//if there's another card
				
				String cardText = "";	//this is all XML text that composes the card
				
				String nextLine = "";
				while(!nextLine.contains("</card>")){						//get the text until the card is finished
					nextLine = scan.nextLine();					
					cardText += "\n" + nextLine; //add text to cardText
				}
				
				Card finishedCard = parseCard(cardText);
				cardList.add(finishedCard);
			}
			
			else{														//if no more cards, done parsing
				doneParsing = true;
			}
		}
		
		cardList = cleanList(cardList);
		return cardList;
	}