 
 // MARK: default types that are supported
 
-public protocol StorableDefaultType { }
+public protocol StorableDefaultType {
+}
 
 extension String: StorableDefaultType { }
-extension Int:    StorableDefaultType { }
-extension Float:  StorableDefaultType { }
+extension Int: StorableDefaultType { }
+extension Float: StorableDefaultType { }
 
 // MARK: warehouse is a thing that serializes and deserializes data
 

    static func pack<T: Storable>(object: T, key: String) {
        let warehouse = JSONWarehouse(key: key)
        
        if let json = warehouse.toJSON(object) {
            warehouse.write(json)
        }
    }
    
    static func pack<T: Storable>(objects: [T], key: String) {
        let warehouse = JSONWarehouse(key: key)
        
        if let json = warehouse.toJSON(objects) {
            warehouse.write(json)
        }
    }
    
    static func pack<T: StorableDefaultType>(object: T, key: String) {
        let warehouse = JSONWarehouse(key: key)
        
        if let json = warehouse.toJSON(object) {
            warehouse.write(json)
        }
    }

    static func pack<T: StorableDefaultType>(objects: [T], key: String) {
        let warehouse = JSONWarehouse(key: key)
        
        if let json = warehouse.toJSON(objects) {
            warehouse.write(json)
        }
    }

    // MARK: unpack generics
    

        
        return nil
    }
    
    func write(object: AnyObject) {
        let cacheLocation = cacheFileURL()
        var storableDictionary = [String: AnyObject]()
        
        storableDictionary["storage"] = object
        print("attempting to write",storableDictionary)
        
        let success = (storableDictionary as NSDictionary).writeToURL(cacheLocation, atomically: true)
        print("writing",success)
    }
    
