     private let images:NSArray
     private let titles:NSArray
     private let closeImageButton:UIImage
+    private let minContainerViewWidth:CGFloat = 10
     
     private var doneAnimations = false
     private var doneCellAnimations = false

                    self.view.alpha = 0
                    navigationController.presentViewController(self, animated:false, completion: { () -> Void in
                        if let frame = self.frame {
                            if self.slideContainerView {
                                self.containerViewWidthConstraint.constant = 10
                            } else {
                                self.containerViewWidthConstraint.constant = UIScreen.mainScreen().bounds.width + 20
                            }
                        }
                        self.view.layoutIfNeeded()
                        UIView.animateWithDuration(0.35, delay:0.0, options:.CurveEaseInOut, animations: { () -> Void in
                            self.view.alpha = 1.0
                            if self.slideContainerView {
                                if let frame = self.frame {
                                    self.containerViewWidthConstraint.constant = self.maxContainerViewWidth
                                    self.view.layoutIfNeeded()
                                }
                            }
                            self.doneAnimations = true
                            self.tableView.reloadData()
                            }, completion: { (finished) -> Void in
                                if self.delegate?.respondsToSelector(Selector("didShowMenu:inViewController:")) == true {

        // closeButton setup
        if closeButton == nil {
            closeButton = UIButton.buttonWithType(.Custom) as? UIButton
        }
        closeButton.backgroundColor = UIColor.clearColor()
        closeButton.setImage(closeImageButton, forState: .Normal)
