             self?.present(alert!, animated: true, completion: nil)
         }
     }
-    
+
 }
 
-// MARK: - FlickrHotTagsViewController (UI Functions) -
+// MARK: - FlickrHotTagsViewController (Private Helpers) -
 
 extension FlickrHotTagsViewController {
-    
-    fileprivate func configureUI() {
+
+    private func setup() {
+        configureUI()
+
+        if tags.count == 0 {
+            fetchData()
+        }
+    }
+
+    private func configureUI() {
         refreshControl.addTarget(self, action: #selector(fetchData), for: .valueChanged)
         tableView.addSubview(refreshControl)
         


// MARK: FlickrHotTagsViewController: TagListViewController -

class FlickrHotTagsViewController: TagListViewController {
    
    // MARK: Properties
    
    var flickrApiClient: FlickrApiClient!
    
    fileprivate var period = Period.day
    fileprivate var numberOfTags = 20
    
    fileprivate let refreshControl = UIRefreshControl()
    
    // MARK: - View Life Cycle
    
    override func viewDidLoad() {
        super.viewDidLoad()

                "Number of Tags",
                rows: 200,
                initialSelection: self.numberOfTags-1,
                doneBlock: { [weak self] (_, selectedValue) in
                    self?.numberOfTags = selectedValue
                    self?.fetchData()
                },
                cancelBlock: nil
            )
        }))
