 
 extension UIView {
 	
+	public struct ConstraintDirection {
+		private let _direction: (DHConstraintDirection) -> ()
+		
+		public var H: Void {
+			direction(.H)
+		}
+		public var V: Void {
+			direction(.V)
+		}
+		
+		init(directionBlock: @escaping (DHConstraintDirection) -> ()) {
+			_direction = directionBlock
+		}
+		private func direction(_ direction: DHConstraintDirection) {
+			_direction(direction)
+		}
+	}
+	
 	/**
 	A helper method that adds constraints.  Automatically sets __translatesAutoresizingMaskIntoConstraints__ to __false__ and adds any views specified in the DHConstraintBuilder if needed.
 	

	
}

public enum DHConstraintRelation {
	case greaterThanOrEqual
	case greaterThanOrEqual1(to: DHConstraintScalar)
	case greaterThanOrEqual2(to: DHConstraintScalar, priority: Int)

		constraintString = "[view_\(uuid)(\(metricString))]"
	}
	
	fileprivate init(_ view: UIView, _ relation: DHConstraintRelation = .equal, lengthRelativeToView: UIView) {
		let uuid = __.count
		__.count = __.count &+ 1
		let uuid2 = __.count
