     }
     
     @discardableResult
-    public func width(_ width: CGFloat, priority: ConstraintPriority = .high, isActive: Bool = true) -> Constraint {
+    public func width(_ width: CGFloat, priority: ConstraintPriority = .required, isActive: Bool = true) -> Constraint {
         let constraint = widthAnchor.constraint(equalToConstant: width).with(priority)
         constraint.isActive = isActive
         return constraint
     }
     
     @discardableResult
-    public func width(to view: Constrainable, _ dimension: NSLayoutDimension? = nil, offset: CGFloat = 0, priority: ConstraintPriority = .high, isActive: Bool = true) -> Constraint {
+    public func width(to view: Constrainable, _ dimension: NSLayoutDimension? = nil, offset: CGFloat = 0, priority: ConstraintPriority = .required, isActive: Bool = true) -> Constraint {
         let constraint = widthAnchor.constraint(equalTo: dimension ?? view.widthAnchor, constant: offset).with(priority)
         constraint.isActive = isActive
         return constraint
     }
     
     @discardableResult
-    public func width(min: CGFloat? = nil, max: CGFloat? = nil, priority: ConstraintPriority = .high, isActive: Bool = true) -> Constraints {
+    public func width(min: CGFloat? = nil, max: CGFloat? = nil, priority: ConstraintPriority = .required, isActive: Bool = true) -> Constraints {
         var constraints: Constraints = []
         
         if let min = min {

public extension Constrainable {
    
    @discardableResult
    public func center(in view: Constrainable, offset: CGPoint = .zero, priority: ConstraintPriority = .high, isActive: Bool = true) -> Constraints {
        let constraints = [
            centerXAnchor.constraint(equalTo: view.centerXAnchor, constant: offset.x).with(priority),
            centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: offset.y).with(priority)

    }
    
    @discardableResult
    public func edges(to view: Constrainable, insets: EdgeInsets = .zero, priority: ConstraintPriority = .required, isActive: Bool = true) -> Constraints {
        let constraints = [
            topAnchor.constraint(equalTo: view.topAnchor, constant: insets.top).with(priority),
            leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: insets.left).with(priority),
