     func bind(viewModel: RedditTopListingViewModel) {
         self.viewModel = viewModel
         self.viewModel.dataSource.delegate = self
+    }
+    
+    // MARK: - Actions
+    
+    @objc private func pullToRefresh(_ sender: UIRefreshControl) {
+        self.viewModel.dataSource.loadData()
     }
     
 }

    
    func dataSourceDidFinishLoadingData(_ dataSource: RedditTopListingDataSource) {
        tableView.reloadData()
    }
    
    func dataSource(_ dataSource: RedditTopListingDataSource, didFinishWithError error: RedditError) {
        let alert = UIAlertController(title: "Error",
                                      message: error.localizedDescription,
                                      preferredStyle: UIAlertControllerStyle.alert)

    
    // MARK: - Private properties
    
    fileprivate var viewModel: RedditTopListingViewModel!
    
    // MARK: - Lifecycle
    
