                 oldController.view.removeFromSuperview()
                 oldController.removeFromParentViewController()
             }
+
             guard let mainViewController = mainViewController else { return }
-            let viewDictionary      = ["mainView" : mainViewController.view]
+            addChildViewController(mainViewController)
+
             mainViewController.view.translatesAutoresizingMaskIntoConstraints = false
-            addChildViewController(mainViewController)
             view.insertSubview(mainViewController.view, atIndex: 0)
+
+            let viewDictionary = ["mainView" : mainViewController.view]
             view.addConstraints(
                 NSLayoutConstraint.constraintsWithVisualFormat(
                     "V:|-0-[mainView]-0-|",

                    views: viewDictionary
                )
            )
            mainViewController.didMoveToParentViewController(self)
        }
    }

                itemAttribute   = .Left
                toItemAttribute = .Right
            }

            _drawerWidthConstraint = NSLayoutConstraint(
                item: drawerViewController.view,
                attribute: NSLayoutAttribute.Width,
