public static List<Node> createFromString(String str){
			ArrayList<Node> retval = new ArrayList<Node>();
			
			String[] nodes = str.split("-");
			
			if(nodes.length<1){
				System.out.println("bad formatting");
				return null;
			}
			
			for(int i = 0; i < nodes.length; i ++){
				String[] nodeParts = nodes[i].split(":");
				String[] dim = nodeParts[1].split(",");
				retval.add(new CircuitNode(nodeParts[0],i,Integer.parseInt(dim[0]),Integer.parseInt(dim[1])));
			}
//			Collections.reverse(retval);

			for(Node temp: retval){
				ArrayList<Integer> n = new ArrayList<Integer>();
				for(Node temp1: retval){
					if(!temp1.equals(temp)){
						n.add(temp1.index);
					}
				}
				temp.setNeighbors(n);
			}
			
			return retval;
		}