   // MARK: Structs
   
   struct Story {
-    var title: String
-    var url: String?
-    var by: String
-    var score: Int
+    let title: String
+    let url: String?
+    let by: String
+    let score: Int
   }
   
   // MARK: Initialization

            self.retrievingStories = false
            UIApplication.sharedApplication().networkActivityIndicatorVisible = false
          }
          }, withCancelBlock: { error in
            self.retrievingStories = false
            self.stories.removeAll()
            self.tableView.reloadData()
            self.showErrorMessage(self.FetchErrorMessage)
            UIApplication.sharedApplication().networkActivityIndicatorVisible = false
        })
      }
      }, withCancelBlock: { error in
        self.retrievingStories = false
        self.stories.removeAll()
        self.tableView.reloadData()
        self.showErrorMessage(self.FetchErrorMessage)
        UIApplication.sharedApplication().networkActivityIndicatorVisible = false
    })
  }
  
  func showErrorMessage(message: String) {

    let query = firebase.childByAppendingPath(StoryTypeChildRefMap[storyType]).queryLimitedToFirst(StoryLimit)
    query.observeSingleEventOfType(.Value, withBlock: { snapshot in
      let storyIds = snapshot.value as! [Int]
      
      for storyId in storyIds {
        let query = self.firebase.childByAppendingPath(self.ItemChildRef).childByAppendingPath(String(storyId))
        query.observeSingleEventOfType(.Value, withBlock: { snapshot in
          storiesMap[storyId] = self.extractStory(snapshot)
          
          if storiesMap.count == Int(self.StoryLimit) {
            var sortedStories = [Story]()
