         return defaultValue
     }
     return UDFloat(key)
+}
+
+func UDDouble(key: String, defaultValue: Double) -> Double {
+    if UDObject(key) == nil {
+        return defaultValue
+    }
+    return UDDouble(key)
 }
 
 func UDString(key: String, defaultValue: String) -> String? {


func UDFloat(key: String) -> Float {
    return NSUserDefaults.standardUserDefaults().floatForKey(key)
}

func UDString(key: String) -> String? {

    NSUserDefaults.standardUserDefaults().synchronize()
}

func UDSetDouble(key: String, value: Double) {
    NSUserDefaults.standardUserDefaults().setDouble(value, forKey: key)
    NSUserDefaults.standardUserDefaults().synchronize()
}

func UDSetString(key: String, value: NSString?) {
    if (value == nil) {
        NSUserDefaults.standardUserDefaults().removeObjectForKey(key)
