     }
     
     // MARK: - location requests
+    
+    public class func getCurrentLocation(timeout timeout: NSTimeInterval? = 8.0, desiredAccuracy: CLLocationAccuracy? = nil, force: Bool = false) -> Promise<CLLocation> {
+        return self.sharedManager.getCurrentLocation(timeout: timeout, desiredAccuracy: desiredAccuracy, force: force)
+    }
     
     public func getCurrentLocation(timeout timeout: NSTimeInterval? = 8.0, desiredAccuracy: CLLocationAccuracy? = nil, force: Bool = false) -> Promise<CLLocation> {
         return self.askForLocationServicesIfNeeded().then { (status) -> Promise<CLLocation> in

     * Checks for authorization status of location services
     * returns promise for authorization status on success, LocationManagerAuthorizationError on fail
     */
    public func askForLocationServicesIfNeeded() -> Promise<CLAuthorizationStatus>{
        return Promise { fulfill, reject in
            if self.isLocationStatusDetermined() {

        }
        self.updateLocationManagerSettings()
    }
    
    func stopUpdatingLocationIfPossible() {
        if self.locationRequests.count == 0 && self.locationObservers.count == 0 {
            self.locationManager.stopUpdatingLocation()
