     }
 
     func requestLocationAlways() {
-        if statusLocationAlways() != .Authorized {
+        switch statusLocationAlways() {
+        case .Unknown:
             locationManager.delegate = self
             locationManager.requestAlwaysAuthorization()
-        } else if statusContacts() == .Unauthorized {
+        case .Unauthorized:
             self.showDeniedAlert(.LocationAlways)
+        default:
+            break
         }
     }
 

    }
    
    func requestNotifications() {
        
        if statusNotifications() != .Authorized {
            UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Alert | .Sound | .Badge, categories: nil))
            self.pollForNotificationChanges()
        } else if statusNotifications() == .Unauthorized {
            self.showDeniedAlert(.Notifications)
        }
    }
    
    public func statusMicrophone() -> PermissionStatus {

    }

    func requestLocationInUse() {
        switch statusLocationInUse() {
        case .Unknown:
            locationManager.delegate = self
            locationManager.requestWhenInUseAuthorization()
        case .Unauthorized:
            self.showDeniedAlert(.LocationInUse)
        default:
            break
        }
    }

