 
 // MARK: - Dynamic variables
 
-extension DirectedPinchGestureRecognizer {
+public extension DirectedPinchGestureRecognizer {
     
     /// The pinch gesture recognizer's current location in `view`, calculated using `locationInView()`. Returns `nil` if `view` is `nil`.
-    var location: CGPoint? {
+    public var location: CGPoint? {
         guard let view = view else {
             return nil
         }

     - returns: Returns `0.0` if either `orientation` or `divergence` (or the `initialOrientation` and `initialDivergence` fallbacks, respectively) are `nil`. Else, takes the current two touch locations and calculates how far they have moved relative to one another, in the given orientation and divergence. For example, if the two points were vertically 20 points away from each other, and they then move to be 30 points away from each other, then `linearScale(forOrientation: .Vertical, andDivergence: .Outwards)` should return `10.0`.
     */
    
    func linearScale(inOrientation orientation: Orientation? = nil, andDivergence divergence: Divergence? = nil) -> CGFloat {
        guard let orientation = orientation ?? initialOrientation, divergence = divergence ?? initialDivergence else {
            return 0.0
        }

    }
    
    /// The pinch gesture recognizer's current orientation in `view`, calculated by comparing the first two touch locations with one another. Returns `nil` if `view` is `nil`, or if the touches are on top of one another (which should never happen).
    public var orientation: Orientation? {
        guard let vector = vector() else {
            return nil
        }
