     
     //MARK: Middle priority
     
-    public func edges(insets: UIEdgeInsets = UIEdgeInsets.zero) -> Self {
+    @discardableResult public func edges(insets: UIEdgeInsets = UIEdgeInsets.zero) -> Self {
         
         let handler: HandlerType = { [unowned self] in
             let width = self.view.superview!.bounds.width - (insets.left + insets.right)

        return self
    }
    
    public func sizeThatFits(size: CGSize) -> Self {
        
        let fitSize = view.sizeThatFits(size)
        let width = min(size.width, fitSize.width)

        }
        self.handlers.append((.Middle, handler))
        return self
    }
    
    @discardableResult public func bottom(to view: UIView? = nil, inset: CGFloat = 0) -> Self {
        
        return checkSuperviewAndRelationType(for: view ?? self.view.superview!.nui_bottom) { [unowned self] relationView, relationType in
            
            let handler: HandlerType = { [unowned self] in
                if self.isTopFrameInstalled {
                    let height = fabs(self.newRect.minY - self.convertedValue(relationType: relationType, forView: relationView)) - inset
                    self.newRect.setValue(height, forRelation: .Height)
                }
                else {
                    let y = self.convertedValue(relationType: relationType, forView: relationView) - inset - self.newRect.height
                    self.newRect.setValue(y, forRelation: .Top)
                }
            }
            self.handlers.append((.Middle, handler))
            self.relationParameters.append((.Bottom, [view, inset, relationType]))
        }
    }
    
    @discardableResult public func right(to view: UIView? = nil, inset: CGFloat = 0) -> Self {
        
        return checkSuperviewAndRelationType(for: view ?? self.view.superview!.nui_right) { [unowned self] relationView, relationType in
            
            let handler: HandlerType = { [unowned self] in
                if self.isLeftFrameInstalled {
                    let width = fabs(self.newRect.minX - self.convertedValue(relationType: relationType, forView: relationView)) - inset
                    self.newRect.setValue(width, forRelation: .Width)
                }
                else {
                    let x = self.convertedValue(relationType: relationType, forView: relationView) - inset - self.newRect.width
                    self.newRect.setValue(x, forRelation: .Left)
                }
            }
            self.handlers.append((.Middle, handler))
            self.relationParameters.append((.Bottom, [view, inset, relationType]))
        }
    }
    
    //MARK: Private
