 
     public func boolForKey(defaultName: String) -> Bool? {
         return things[defaultName] as? Bool
+    }
+
+    public func longForKey(defaultName: String) -> Int64? {
+        let num = things[defaultName] as? NSNumber
+        if let num = num {
+            return num.longLongValue
+        }
+        return nil
     }
 
     public func stringArrayForKey(defaultName: String) -> [String]? {

        return self.prefix + key
    }

    public func setObject(value: AnyObject?, forKey defaultName: String) {
        userDefaults.setObject(value, forKey: qualifyKey(defaultName))
    }

        // distinguish between false and non-existent keys, so use objectForKey
        // and cast the result instead.
        return userDefaults.objectForKey(qualifyKey(defaultName)) as? Bool
    }

    public func longForKey(defaultName: String) -> Int64? {
        let num = userDefaults.objectForKey(qualifyKey(defaultName)) as? NSNumber
        if let num = num {
            return num.longLongValue
        }
        return nil
    }

    public func stringArrayForKey(defaultName: String) -> [String]? {
