         })
         return minTravelTime
     }
-}+}
+
+extension CLPlacemark {
+    func postalAddressFromAddressDictionary() -> CNMutablePostalAddress {
+        let postalAddress = CNMutablePostalAddress()
+        
+        if let addressDictionary = addressDictionary {
+            postalAddress.street = addressDictionary["Street"] as? String ?? ""
+            postalAddress.state = addressDictionary["State"] as? String ?? ""
+            postalAddress.city = addressDictionary["City"] as? String ?? ""
+            postalAddress.country = addressDictionary["Country"] as? String ?? ""
+            postalAddress.postalCode = addressDictionary["ZIP"] as? String ?? ""
+        }
+        
+        return postalAddress
+    }
+    
+    func localizedStringForAddressDictionary() -> String {
+        return CNPostalAddressFormatter.stringFromPostalAddress(postalAddressFromAddressDictionary(), style: .MailingAddress)
+    }
+}
+


import Foundation
import MapKit

let mileMeterRatio = 1609.344
let meterToDegreesRatio = 111000.0

    var distanceMiles:Double {
        return metersToMiles(distance)
    }
    
    var expectedTravelTimeLocalizedDescription:String {
        //TODO: actually localized and smarter time formatter here
        let minutes = ceil(expectedTravelTime/60.0)
        return "\(minutes.format("0.0")) Minutes"
    }
}

extension MKCoordinateRegion {
