     case Authorized = "Authorized"
     case Unauthorized = "Unauthorized"
     case Unknown = "Unknown"
+    case Disabled = "Disabled" // System-level
 }
 
 public enum PermissionDemands: String {

            animated: true, completion: nil)
    }
    
    // MARK: gesture delegate

    public func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldReceiveTouch touch: UITouch) -> Bool {

    // MARK: dealing with system permissions

    public func statusLocationAlways() -> PermissionStatus {
        if !CLLocationManager.locationServicesEnabled() {
            return .Disabled
        }
        
        let status = CLLocationManager.authorizationStatus()
        switch status {
        case .AuthorizedAlways:
