         cv.backgroundColor = ImagePickerViewController.bgColor
         return cv
     }()
-
-
-    ///////////////////////////////////////
-    //  UIViewController Lifecycle
-    ///////////////////////////////////////
-
-    public override func loadView() {
-        super.loadView()
-        initCamera()
-    }
-
-    public override func viewDidLoad() {
-        super.viewDidLoad()
-        self.collectionView.delegate = self
-        self.collectionView.dataSource = self
-        self.collectionView.registerClass(PhotoCell.self, forCellWithReuseIdentifier: PhotoCell.reuseIdentifier)
-        self.collectionView.registerClass(CameraCell.self, forCellWithReuseIdentifier: CameraCell.reuseIdentifier)
-        self.view.backgroundColor = UIColor.clearColor()
-        self.backgroundView.addGestureRecognizer(UITapGestureRecognizer(target: self, action:"onOutsideTap"))
-        
-        self.pickerContainer.addSubview(self.collectionView)
-    }
 
     ///////////////////////////////////////
     //  CollectionView

    func didSelectImage(image: UIImage)
}

public class ImagePickerViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UIImagePickerControllerDelegate, UINavigationControllerDelegate, PHPhotoLibraryChangeObserver {

    private static let screenSize = UIScreen.mainScreen().bounds.size
    private static let expectedCellWidth: CGFloat = 240

    /////////////////////////////////////////

    private func setUp() {
        fetchImageAssets()
        if PHPhotoLibrary.authorizationStatus() != .Authorized {
            PHPhotoLibrary.requestAuthorization { status in
