     }
     
     func valueForStoreKey(storeKey: UserDefaultsStoreKey<Int64>) -> Int64 {
-        guard let value = userDefaults.objectForKey(storeKey.key) as? Int64 else {
+        guard let value = userDefaults.objectForKey(storeKey.key) as? Int else {
             return 0
         }
         
-        return value
+        return NSNumber(long: value).longLongValue
     }
     
     func valueForStoreKey(storeKey: UserDefaultsStoreKey<Double>) -> Double {

    }
    
    func valueForStoreKey(storeKey: UserDefaultsStoreKey<Int64?>) -> Int64? {
        return userDefaults.objectForKey(storeKey.key) as? Int64
    }
    
    func valueForStoreKey(storeKey: UserDefaultsStoreKey<Double?>) -> Double? {

        userDefaults.synchronize()
    }
    
    func setNewValue(value: Int64, forStoreKey storeKey: UserDefaultsStoreKey<Int64>) {
        userDefaults.setObject(NSNumber(longLong: value), forKey: storeKey.key)
        userDefaults.synchronize()
    }
    
