 public class HTTPTask : NSObject, NSURLSessionDelegate {
     
     var baseURL: String?
-    var requestSerializer: HTTPRequestSerializer!
+    var requestSerializer = HTTPRequestSerializer()
     var responseSerializer: HTTPResponseSerializer?
     //these 2 only get used for background download/upload since they have to be delegate methods
     var backgroundSuccess:((AnyObject?) -> Void)?

            str += letters[start]
        }
        return "com.vluxe.swifthttp.request.\(str)"
    }
    
    //the background download finished, don't have to really do anything

                        extraResponse.statusCode = hresponse.statusCode
                    }
                    extraResponse.responseObject = responseObject
                    if extraResponse.statusCode > 299 {
                        if failure != nil {
                            failure(self.createError(extraResponse.statusCode!))
                        }
                    } else if success != nil {
                        success(extraResponse)
                    }
                } else if failure != nil {
