         let superview: UIView? = self.superview
         assert(superview != nil, "View's superview must not be nil")
         assert(axis == .CenterX || axis == .CenterY, "You can center a view horizontally or vertically, no other attribute is accepted")
-        return NSLayoutConstraint(item: self, attribute: axis, relatedBy: .Equal, toItem: superview, attribute: axis, multiplier: 1, constant: 0)
+        return NSLayoutConstraint(item: self, attribute: axis, toItem: superview)
     }
 
     // MARK: Pin Edges to Superview

        return [width, height]
    }
}

    func pinEdgesToSuperview(distance: CGFloat) -> [NSLayoutConstraint] {
        let superview: UIView? = self.superview
        assert(superview != nil, "View's superview must not be nil")
        let left = NSLayoutConstraint(item: self, attribute: .Left, toItem: superview, constant: distance)
        let right = NSLayoutConstraint(item: self, attribute: .Right, toItem: superview, constant: distance)
        let top = NSLayoutConstraint(item: self, attribute: .Top, toItem: superview, constant: distance)
        let bottom = NSLayoutConstraint(item: self, attribute: .Bottom, toItem: superview, constant: distance)
        return [left, right, top, bottom]
    }

    // MARK: Same dimension

    func matchDimension(dimension: NSLayoutAttribute, toItem view: UIView) -> NSLayoutConstraint {
        assert(dimension == .Width || dimension == .Height, "You can match the width or the height of a view, no other attribute is accepted")
        return NSLayoutConstraint(item: self, attribute: dimension, toItem: view)
    }

    func matchHeightAndWidth() -> NSLayoutConstraint {
