public static AHCGraph getGraphFromCSVFile(String path){
		AHCGraph graph = null;
		BufferedReader br = null;
		String line = "";
		String cvsSplitBy = ",";
		double max = -1000;
		try {
	 
			br = new BufferedReader(new FileReader(path));
			int rowNum = 0;
			boolean isFirst = true;
			while ((line = br.readLine()) != null) {
	 
				String[] row = line.split(cvsSplitBy);
				if(isFirst){
					isFirst = false;
					graph =  new AHCGraph(row.length);
				}
				for(int i=0; i<row.length; i++){
					double weight = Double.parseDouble(row[i].trim());
					if(weight>max) max = weight;
					graph.addEdge(rowNum, i, weight != 0? weight :0);
				}
				rowNum++;
			}
	 
		} catch (FileNotFoundException e) {
			System.out.println(path);
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (br != null) {
				try {
					br.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		System.out.println("MAX VAL: " + max);
		return graph;
	}