         }
         return _pageViewScrollView
     }
-    // data source required by UIpageViewController
+    /// buttons
+    public let buttonsScrollView: LXButtonsScrollView = LXButtonsScrollView()
+    /// data source required by UIpageViewController
     let pageViewControllerDataSource = LXPageViewWithButtonsViewControllerDataSource()
     var currentIdx = 0 {
         didSet {

        }
    }
    func currentIdxUpdated() {
        self.selectionButtons?.forEach { $0.selected = false }
        self.selectionButtons?[currentIdx].selected = true
        
        NSNotificationCenter.defaultCenter().postNotificationName(LXPageViewWithButtonsViewControllerCurrentViewControllerDidChangeNotification , object: self)
    }

    
    public override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        buttonsScrollView.translatesAutoresizingMaskIntoConstraints = false
        let pageViewControllerView = pageViewController.view
        pageViewControllerView.translatesAutoresizingMaskIntoConstraints = false
        
        
        NSLayoutConstraint.activateConstraints([
            NSLayoutConstraint(item: buttonsScrollView, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0),
            NSLayoutConstraint(item: buttonsScrollView, attribute: .Top, relatedBy: .Equal, toItem: self.topLayoutGuide, attribute: .Bottom, multiplier: 1, constant: 0),
            NSLayoutConstraint(item: buttonsScrollView, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 30),
            NSLayoutConstraint(item: buttonsScrollView, attribute: .Width, relatedBy: .Equal, toItem: self.view, attribute: .Width, multiplier: 1, constant: 0)
            ])
        
        // layout pageViewController
        NSLayoutConstraint.activateConstraints([
            NSLayoutConstraint(item: pageViewControllerView, attribute: .CenterX, relatedBy: .Equal, toItem: self.view, attribute: .CenterX, multiplier: 1, constant: 0),
            NSLayoutConstraint(item: pageViewControllerView, attribute: .Top, relatedBy: .Equal, toItem: buttonsScrollView, attribute: .Bottom, multiplier: 1, constant: 0),
            NSLayoutConstraint(item: pageViewControllerView, attribute: .Bottom, relatedBy: .Equal, toItem: self.bottomLayoutGuide, attribute: .Top, multiplier: 1, constant: 0),
            NSLayoutConstraint(item: pageViewControllerView, attribute: .Width, relatedBy: .Equal, toItem: self.view, attribute: .Width, multiplier: 1, constant: 0)
            ])
