         URLSession.shared.dataTask(with: url, completionHandler:{(data, response, error) -> Void in
             guard
                 let rawForms = data,
-                let forms = SecondHand.parse(rawForms)
+                let forms = SecondHand.parse(contract: rawForms)
                 else {
                     DispatchQueue.main.async {
                         callback?(false)

        }
    }
    
    private static func parse(_ data: Data) -> Array<SecondHand.Form>? {
        guard
            let deserializedSecondHandData = try? JSONSerialization.jsonObject(with: data, options: []) as? Dictionary<String, AnyObject>,
            let forms = deserializedSecondHandData?["forms"] as? Array<Dictionary<String, AnyObject>>
        else {
                print("Failed to deserialize second hand forms")
                return nil
        }
        

    
    init() {
        if let cachedForms = try? Data(contentsOf: URL(fileURLWithPath: SecondHand.cacheFile)) {
            if let forms = SecondHand.parse(model: cachedForms) {
                self.forms = forms
            }
        }
