                     cell?.loadingActivityIndicator.stopAnimating()
                 })
             }
-
-        default:
-            break
         }
     }
 
     func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
 
-        switch indexPath.section {
-
-        case Section.User.rawValue:
+        guard let section = Section(rawValue: indexPath.section) else {
+            fatalError()
+        }
+
+        switch section {
+
+        case .User:
 
             switch layoutMode {
 

                return cell
            }

        case Section.LoadMore.rawValue:
            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(loadMoreCollectionViewCellID, forIndexPath: indexPath) as! LoadMoreCollectionViewCell
            return cell

        default:
            return UICollectionViewCell()
        }
    }
    
    func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {

        switch indexPath.section {

        case Section.User.rawValue:

            let discoveredUser = discoveredUsers[indexPath.row]


                cell.configureWithDiscoveredUser(discoveredUser, collectionView: collectionView, indexPath: indexPath)
            }

        case .LoadMore:
            if let cell = cell as? LoadMoreCollectionViewCell {

                println("load more discovered users")
