     }
 
 
+    /// Constrains the view vertical spacing to other view that is on the same hierarchy level
+    ///
+    /// This contraint is added directly to the container view and is returned for future manipulation (if needed).
+    /// This method should be used when you wish to define a vertical space relation to a view that is on the same
+    /// hierarchy level (i.e share the same superview).
+    ///
+    /// To use positive constant values, this methods should be used by adding the relation from the second view to the
+    /// first which means that the `toView` argument should be a view that sits physically above in relation with the
+    /// view were you are calling this method on.
+    ///
+    /// The arguments should only be changed when the desired value is not the default value, to simplify the method readability.
+    /// All the **default values** for this contraint are the same as if the constraint was created on the Interface Builder.
+    ///
+    /// - Parameters:
+    ///   - toView: The view for which we want to create the vertical space relation. For positive `constant` values, should be above.
+    ///   - constant: The constant added to the multiplied second attribute participating in the constraint. The default value is 0.
+    ///   - relation: The relation between the two attributes in the constraint (e.g. =, >, >=, <, <=). The default relation is Equal.
+    ///   - priority: The priority of the constraint. The default value is 1000 (required).
+    ///   - multiplier: The multiplier applied to the second attribute participating in the constraint. The default value is 1.
+    /// - Returns: The added constraint between the two views.
     @discardableResult
     public func constrainVerticalSpacing(toView view: UIView,
                                          constant: CGFloat = Constants.spacing,

    }


    @discardableResult
    public class func constrainEqualHorizontalSpacing(_ views: [UIView],
                                                      constant: CGFloat = Constants.spacing,

// MARK: - Spacing
public extension UIView {

    /// Constrains the view horizontal spacing to other view that is on the same hierarchy level
    ///
    /// This contraint is added directly to the container view and is returned for future manipulation (if needed).
    /// This method should be used when you wish to define a horizontal space relation to a view that is on the same
    /// hierarchy level (i.e share the same superview).
    ///
    /// To use positive constant values, this methods should be used by adding the relation from the second view to the
    /// first which means that the `toView` argument should be a view that sits physically on the left in relation with the
    /// view were you are calling this method on.
    ///
    /// The arguments should only be changed when the desired value is not the default value, to simplify the method readability.
    /// All the **default values** for this contraint are the same as if the constraint was created on the Interface Builder.
    ///
    /// - Parameters:
    ///   - toView: The view for which we want to create the horizontal space relation. For positive `constant` values, should be on the left.
    ///   - constant: The constant added to the multiplied second attribute participating in the constraint. The default value is 0.
    ///   - relation: The relation between the two attributes in the constraint (e.g. =, >, >=, <, <=). The default relation is Equal.
    ///   - priority: The priority of the constraint. The default value is 1000 (required).
    ///   - multiplier: The multiplier applied to the second attribute participating in the constraint. The default value is 1.
    /// - Returns: The added constraint between the two views.
    @discardableResult
    public func constrainHorizontalSpacing(toView view: UIView,
                                           constant: CGFloat = Constants.spacing,
