 
 public class XMLFileStore : SOGraphDBStore {
 
-    open let xmlFileURL : URL
+    //open let xmlFileURL : URL
     
     //MARK:  -
     
+    public required init()  {
+    }
+    
     public required init(url: URL) throws {
-        self.xmlFileURL = url
+        //self.xmlFileURL = url
         //readXMLFile()
     }
     
     //MARK: - Node
     
-    var nodeList = [Node]()
+    //var nodeList = [Node]()
+    var nodeDict = [Int: Node]()
+    
     var maxNodeUID : UID = 0
     
+    // Register a node
+    //
     public func register(_ node: Node) {
-        maxNodeUID += 1
-        node.uid = maxNodeUID
-        nodeList.append(node)
+        if let uid = node.uid {
+            maxNodeUID = max(maxNodeUID,uid) + 1
+        } else {
+            maxNodeUID += 1
+            node.uid = maxNodeUID
+        }
+        
+        nodeDict[node.uid!] = node
     }
     
     public func update(_ aNode: Node) {

    
     //MARK: - Persistent
    

    func readXMLFile() throws {
        
        //var error : NSError?

        }
    }
    
    
    
    func writeXMLFile() throws {
        
