     
     @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)

    
    //MARK: Private
    
    private func checkRelationType(for relationView: UIView, configurationBlock: (UIView, NUIRelationType) -> Void) -> NUIMaker {

        assert(relationView.relationType != nil, "The view '\(relationView)' hasn't a relation type.")

    
    @discardableResult public func left(to view: UIView? = nil, inset: CGFloat = 0.0) -> NUIMaker {

        checkSuperView(view)
        return checkRelationType(for: view ?? self.view.superview!.nui_left) { [unowned self] relationView, relationType in
            
            let handler = { [unowned self] in
