         
     }
     
-    
+    func handleTapGestureRecognizer(gestureRecognizer: UITapGestureRecognizer) {
+        guard let index = self.articlePreviewViewControllers.indexOf({ (vc) -> Bool in return CGRectContainsPoint(vc.view.frame, gestureRecognizer.locationInView(self.view)) }) where index < results.count else {
+            return
+        }
+        
+        let result = results[index]
+        let URL = siteURL.wmf_URLWithTitle(result.displayTitle)
+        self.extensionContext?.openURL(URL, completionHandler: { (success) in
+            
+        })
+    }
     
 }

            let mode = context.widgetActiveDisplayMode
            widgetActiveDisplayModeDidChange(mode, withMaximumSize: context.widgetMaximumSizeForDisplayMode(mode))
        }
        
        widgetPerformUpdate { (result) in
            

    }
    
    func widgetPerformUpdate(completionHandler: ((NCUpdateResult) -> Void)) {
        date = NSDate().wmf_bestMostReadFetchDate()
        mostReadFetcher.fetchMostReadTitlesForSiteURL(siteURL, date: date).then { (result) -> AnyPromise in
            
