public IAIGraph createGraph() {

		BufferedReader br = null;
		try {
			br = new BufferedReader(new FileReader(this.src));

			// Files are not encoded so you have to do it manually
			String line1 = UTF8EncodedString(br.readLine());
			this.direction = getDirection(line1);
			initGraph();

			String line = UTF8EncodedString(br.readLine());
			while (line != null && line != "") {
				String[] srcDestEdge = line.split(",");
				// if there is no correct split: src, dest, edge break out of
				// while
				if (srcDestEdge.length <= 2) {
					break;
				}
				// Method to add src dest and edge into Graph
				addToGraph(srcDestEdge);
				// read in next line
				line = UTF8EncodedString(br.readLine());
			}

		} catch (FileNotFoundException fnfe) {
			fnfe.printStackTrace();
		} catch (java.io.IOException ioe) {
			ioe.printStackTrace();
		} finally {
			try {
				br.close();
			} catch (java.io.IOException ioe) {
				ioe.printStackTrace();
			}
		}
		return graph;
	}