             self.superview?.bringSubview(toFront: self)
             overlayView.addTarget(self, action: #selector(close), for: UIControlEvents.touchUpInside)
 
+            overlayViewDidCompleteOpenAnimation = false
             UIView.animate(withDuration: 0.3, delay: 0,
                 usingSpringWithDamping: 0.55,
                 initialSpringVelocity: 0.3,

                    self.plusLayer.transform = CATransform3DMakeRotation(self.degreesToRadians(self.rotationDegrees), 0.0, 0.0, 1.0)
                    self.buttonImageView.transform = CGAffineTransform(rotationAngle: self.degreesToRadians(self.rotationDegrees))
                    self.overlayView.alpha = 1
                }, completion: nil)


            switch openAnimationType {

                    self.buttonImageView.transform = CGAffineTransform(rotationAngle: self.degreesToRadians(0))
                    self.overlayView.alpha = 0
                }, completion: {(f) -> Void in
                    if self.overlayViewDidCompleteOpenAnimation {
                        self.overlayView.removeFromSuperview()
                    }
            })

            switch openAnimationType {
