                 return UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
             }
 
-        case Section.LoadMore.rawValue:
-            return UIEdgeInsetsZero
-
-        default:
+        case .LoadMore:
             return UIEdgeInsetsZero
         }
     }


    func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

        switch section {

        case Section.User.rawValue:
            return discoveredUsers.count

        case Section.LoadMore.rawValue:
            return discoveredUsers.isEmpty ? 0 : 1

        default:
            return 0
        }
    }
    
    func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

        switch indexPath.section {

        case Section.User.rawValue:

            switch layoutMode {


                return CGSize(width: (UIScreen.mainScreen().bounds.width - (10 + 10 + 10)) * 0.5, height: 280)
            }

        case .LoadMore:
            return CGSize(width: UIScreen.mainScreen().bounds.width, height: 80)
        }
    }

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets {

        guard let section = Section(rawValue: section) else {
            fatalError()
        }

        switch section {

        case .User:

            switch layoutMode {

