     
     @discardableResult public func edges(insets: UIEdgeInsets = UIEdgeInsets.zero) -> NUIMaker {
         
+        assert(self.view.superview != nil, "Can not create realtions without superview.")
+        
         let handler = { [unowned self] in
             let width = self.view.superview!.bounds.width - (insets.left + insets.right)
             let height = self.view.superview!.bounds.height - (insets.left + insets.right)

    
    @discardableResult public func centerY(to view: UIView? = nil, offset: CGFloat = 0.0) -> NUIMaker {
        
        return checkRelationType(for: view ?? self.view.superview!.nui_centerY) { [unowned self] relationView, relationType in
            
            let handler = { [unowned self] in

    
    @discardableResult public func bottom(to view: UIView? = nil, inset: CGFloat = 0.0) -> NUIMaker {
        
        checkSuperView(view)
        return checkRelationType(for: view ?? self.view.superview!.nui_bottom) { [unowned self] relationView, relationType in
            
            let handler = { [unowned self] in
