 
         if collectionView == skillCategoriesCollectionView {
 
-            let cell = collectionView.dequeueReusableCellWithReuseIdentifier(skillCategoryCellIdentifier, forIndexPath: indexPath) as! SkillCategoryCell
+            let cell: SkillCategoryCell = collectionView.dequeueReusableCell(forIndexPath: indexPath)
 
             let skillCategory = skillCategories[indexPath.item]
 

extension RegisterSelectSkillsViewController: UICollectionViewDataSource, UICollectionViewDelegate {

    func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
        var reusableView: UICollectionReusableView!

        if kind == UICollectionElementKindSectionHeader {
            if collectionView == skillCategoriesCollectionView {
                let header = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader, withReuseIdentifier: skillAnnotationHeaderIdentifier, forIndexPath: indexPath) as! SkillAnnotationHeader
                
                header.annotationLabel.text = annotationText
                
                let tap = UITapGestureRecognizer(target: self, action: #selector(RegisterSelectSkillsViewController.dismiss))
                header.annotationLabel.userInteractionEnabled = true
                header.annotationLabel.addGestureRecognizer(tap)
                
                reusableView = header

            } else {
                let header = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader, withReuseIdentifier: skillAnnotationHeaderIdentifier, forIndexPath: indexPath) as! SkillAnnotationHeader

                if skillCategoryIndex < skillCategories.count {
                    let skillCategory = skillCategories[skillCategoryIndex]

                    header.annotationLabel.text = NSLocalizedString("Popular in ", comment: "") + "\(skillCategory.localName)"
                }
                
                reusableView = header
            }
        }
        
        return reusableView

            return cell
            
        } else { //if collectionView == skillsCollectionView {
            let cell: SkillSelectionCell = collectionView.dequeueReusableCell(forIndexPath: indexPath)

            if skillCategoryIndex < skillCategories.count {
                let skills = skillCategories[skillCategoryIndex].skills
