             self.openPanel!.beginWithCompletionHandler({ (result:Int) -> Void in
                 if result == NSFileHandlingPanelOKButton
                 {
-                    self.loadJPQFile(self.openPanel!.URL!)
-                    self.addFileScrollViewIfNotSubViewedOfSelf()
+                    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), { () -> Void in
+                        self.loadJPQFile(self.openPanel!.URL!)
+                        dispatch_sync(dispatch_get_main_queue(), { () -> Void in
+                            self.addFileScrollViewIfNotSubViewedOfSelf()
+                            self.addJPQButton.enabled = true
+                            self.loadJPQButton.enabled = true
+                            self.jpqModifierView.hidden = true
+                            self.fileModifierView.hidden = false
+                        })
+                    })
                 }
             })
-            self.addJPQButton.enabled = true
-            self.loadJPQButton.enabled = true
         })
     }
     

        // we must prompt the save panel asyncronously
        dispatch_async(dispatch_get_main_queue(), { () -> Void in
            self.addJPQPop.showRelativeToRect(NSRect(x: 0, y: 0, width: 250, height: 160), ofView: self.addJPQLabel, preferredEdge: NSMaxYEdge)
            })
        return
    }
    

        
        super.init(coder: coder)
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        //        fileTableView.controller = self
        //        fileTableView.registerForDraggedTypes(NSArray(objects:  NSURLPboardType) as [AnyObject])
        
        
        
