         
         self.title = "Atoms"
         
-        parserBridge = ParserBridge()
-        if let videoURL = video?.videoURL {
-            rootAtom = parserBridge!.parseFile(videoURL.path)
-            displayAtom( rootAtom!, depth: 0 );
+        showActivityIndicator();
+        
+        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
+            self.parserBridge = ParserBridge()
+            if let videoURL = self.video?.videoURL {
+                self.rootAtom = self.parserBridge!.parseFile(videoURL.path)
+                self.displayAtom( self.rootAtom!, depth: 0 )
+            }
+            
+            dispatch_async(dispatch_get_main_queue()) {
+                self.removeActivityIndicator()
+                self.tableView.reloadData()
+            }
         }
         
         tableView.layoutMargins = UIEdgeInsetsZero

    
    let atomCellIdentifier = "atomCell";
    
    var video: Video?
    
    var rootAtom: Atom?

        
        self.view.backgroundColor = UIColor(red: 200/255, green: 199/255, blue: 204/255, alpha: 1)
        self.navigationController?.navigationBar.translucent = false
    }
    
    override func viewDidAppear(animated:Bool) {
