 	    public function processRspec(afterCompletion : Function):void {
 	    	main.setProgress("Parsing " + Hrn + " RSPEC", Common.waitColor);
 	    	main.startWaiting();
-	    	
-	    	namespace rsync01namespace = "http://www.protogeni.net/resources/rspec/0.1"; 
-	        use namespace rsync01namespace; 
+
+			var nodeName : QName = new QName(Rspec.namespace(), "node");
+			nodes = Rspec.elements(nodeName);
+			nodeName = new QName(Rspec.namespace(), "link");
+			links = Rspec.elements(nodeName);
 
 	    	myAfter = afterCompletion;
 	    	myIndex = 0;
 	    	myState = NODE_PARSE;
-	    	locations = Rspec.node.location;
-	    	links = Rspec.link;
 	    	interfaceDictionary = new Dictionary();
 	    	nodeNameDictionary = new Dictionary();
 	    	subnodeList = new ArrayCollection();

	    }
	    
	    private function parseNextLink():void {
	    	namespace rsync01namespace = "http://www.protogeni.net/resources/rspec/0.1"; 
	        use namespace rsync01namespace; 
	        
	        var idx:int;
	        for(idx = 0; idx < MAX_WORK; idx++) {
	        	var fullIdx:int = myIndex + idx;

		        		l.urn = link.@component_uuid;
		        		l.interface1 = ni1;
		        		l.interface2 = ni2;
						
						for each(var ix:XML in link.children()) {
							if(ix.localName() == "bandwidth") {
								l.bandwidth = Number(ix);
							} else if(ix.localName() == "latency") {
								l.latency = Number(ix);
							} else if(ix.localName() == "packet_loss") {
								l.packetLoss = Number(ix);
							}
						}
						
		        		l.rspec = link.copy();
		        		
		        		for each(var tx:XML in link.link_type) {
