public static KVArray ReadKVFile(File file) throws KVException
	{
		try {
			KVArray data = new KVArray(); //we will populate this array and return it
			reader = new BufferedReader(new FileReader(file));
			String line;
			currentLine = 0;
			
			//load all lines from the file into the arraylist
			while ((line = reader.readLine()) != null) {
				line = line.trim();
				currentLine++;
				
				if (line.isEmpty() || line.startsWith("//")) {
					continue;
				}
				if (!isValidStarter(line.charAt(0))) {
					throw new KVException("Line " + currentLine + " is invalid");
				}
				
				//if line starts with a "
				if (line.charAt(0) == '\"') {
					KVPair pair = ReadLineData(line);
					if (pair != null) {
						data.set(pair.key, pair.data);	
					}

				}
			}
			
			reader.close(); //we are done with this
			return data;
		}
		catch (IOException e) {
			e.printStackTrace();
			return null;
		}
	}