 
         return nil
     }
+}
+
+extension ViewController: UIViewControllerTransitioningDelegate {
+
+    func presentationControllerForPresentedViewController(presented: UIViewController, presentingViewController presenting: UIViewController!, sourceViewController source: UIViewController) -> UIPresentationController? {
+
+        return UIPresentationController(presentedViewController: presented, presentingViewController: presentingViewController)
+    }
+
+    func animationControllerForPresentedController(presented: UIViewController, presentingController presenting: UIViewController, sourceController source: UIViewController) -> UIViewControllerAnimatedTransitioning? {
+
+        return Union.animate()
+    }
 }
        navigationController?.navigationBar.barTintColor = UIColor.whiteColor()
    }

}

extension ViewController: UICollectionViewDelegate {

        layout.itemSize = CGSize(width: CGRectGetWidth(collectionView!.frame), height: 200)
        collectionView?.collectionViewLayout = layout
        collectionView?.registerClass(CollectionViewCell.self, forCellWithReuseIdentifier: "cell")

        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "overlay", style: .Plain, target: self, action: "showPresentation")
    }

    override func viewWillAppear(animated: Bool) {
