         superview.addConstraint(topOffset)
     }
     
+    func placeToRightOf(sibling: UIView, by offset: CGFloat) {
+        let superview = self.superview!
+        if (superview != sibling.superview!) {
+            return
+        }
+        setTranslatesAutoresizingMaskIntoConstraints(false)
+        sibling.setTranslatesAutoresizingMaskIntoConstraints(false)
+        let topOffset = NSLayoutConstraint(item: self,
+            attribute: .Left,
+            relatedBy: .Equal,
+            toItem: sibling,
+            attribute: .Right,
+            multiplier: 1,
+            constant: offset)
+        superview.addConstraint(topOffset)
+    }
+    
     func pinToTop() {
         pinToEdge(.Top)
     }

        pinToEdge(.Right)
    }
    
    private func pinToEdge(edge: NSLayoutAttribute) {
        let superview = self.superview!
        setTranslatesAutoresizingMaskIntoConstraints(false)
        let pin = NSLayoutConstraint(item: self,

    }
    
    // MARK: - positioning
     
    func placeBelow(sibling: UIView, by offset: CGFloat = 0) {
        let superview = self.superview!
        if (superview != sibling.superview!) {
            return
