         }
     }
     
-    private lazy var assetFetchOptions: PHFetchOptions = {
-        let assetFetchOptions = PHFetchOptions()
-        return assetFetchOptions
-    }()
-  
     @objc open func makeRootVC() -> DKAssetGroupDetailVC {
       return DKAssetGroupDetailVC()
     }
     
-    private func createAssetFetchOptions() -> PHFetchOptions? {
+    private func updateCancelButtonForVC(_ vc: UIViewController) {
+        if self.showsCancelButton {
+            self.UIDelegate.imagePickerController(self, showsCancelButtonForVC: vc)
+        } else {
+            self.UIDelegate.imagePickerController(self, hidesCancelButtonForVC: vc)
+        }
+    }
+    
+    private func createAssetFetchOptions() -> PHFetchOptions {
         let createImagePredicate = { () -> NSPredicate in
-            var imagePredicate = NSPredicate(format: "mediaType == %d", PHAssetMediaType.image.rawValue)
-            if let imageFetchPredicate = self.imageFetchPredicate {
-                imagePredicate = NSCompoundPredicate(andPredicateWithSubpredicates: [imagePredicate, imageFetchPredicate])
-            }
+            let imagePredicate = NSPredicate(format: "mediaType == %d", PHAssetMediaType.image.rawValue)
             
             return imagePredicate
         }
         
         let createVideoPredicate = { () -> NSPredicate in
-            var videoPredicate = NSPredicate(format: "mediaType == %d", PHAssetMediaType.video.rawValue)
-            if let videoFetchPredicate = self.videoFetchPredicate {
-                videoPredicate = NSCompoundPredicate(andPredicateWithSubpredicates: [videoPredicate, videoFetchPredicate])
-            }
+            let videoPredicate = NSPredicate(format: "mediaType == %d", PHAssetMediaType.video.rawValue)
             
             return videoPredicate
         }

    
    @objc open private(set) var selectedAssets = [DKAsset]()
    
    public convenience init() {
        let rootVC = UIViewController()
        self.init(rootViewController: rootVC)
        
        self.preferredContentSize = CGSize(width: 680, height: 600)
        
        rootVC.navigationItem.hidesBackButton = true
        
        self.groupDataManager.assetGroupTypes = self.assetGroupTypes
        self.groupDataManager.assetFetchOptions = self.createAssetFetchOptions()
        self.groupDataManager.showsEmptyAlbums = self.showsEmptyAlbums
    }
    
    deinit {

        }
    }
    
}
