         toView.transform = CGAffineTransformMakeTranslation(-maxOffset, 0)
         
         let backOverlayView = UIView(frame: containerBounds)
-        backOverlayView.backgroundColor = UIColor.blackColor()
-        backOverlayView.alpha = 0.5
+        backOverlayView.alpha = 1.0
         
         container.addSubview(toView)
         container.addSubview(backOverlayView)

        let context = UIGraphicsGetCurrentContext()
        let colorSpace = CGColorSpaceCreateDeviceRGB()
        let colors: CFArray = [
            UIColor(white: 0.0, alpha: 0.0).CGColor,
            UIColor(white: 0.0, alpha: 0.1).CGColor,
            UIColor(white: 0.0, alpha: 0.2).CGColor,
            UIColor(white: 0.0, alpha: 0.3).CGColor,
            UIColor(white: 0.0, alpha: 0.4).CGColor,
        ]
        let locations: [CGFloat] = [0.36, 0.64, 0.84, 0.96, 1.0]
        let options = CGGradientDrawingOptions()
        if let gradient = CGGradientCreateWithColors(colorSpace, colors, locations) {
            CGContextDrawLinearGradient(context, gradient, CGPointMake(0, 0), CGPointMake(w, 0), options)

        
        UIView.animateWithDuration(defaultPushPopDuration,
            animations: { () -> Void in
                backOverlayView.alpha = 1.0
                fromView.transform = CGAffineTransformMakeTranslation(-maxOffset, 0)
                self.frontContainerView.transform = CGAffineTransformIdentity
                self.frontContainerView.dropShadowView.alpha = 1.0
