         self.init(url: url, sessionConfig: sessionConfig, requestSerializer: JsonRequestSerializer(url: baseURL, headers: headers), responseSerializer: JsonResponseSerializer())
     }
     
-    init(url: String?, sessionConfig: NSURLSessionConfiguration?, requestSerializer: RequestSerializer, responseSerializer: ResponseSerializer) {
+    private init(url: String?, sessionConfig: NSURLSessionConfiguration?, requestSerializer: RequestSerializer, responseSerializer: ResponseSerializer) {
         self.baseURL = url == nil ? nil : NSURL.URLWithString(url!)
         self.session = (sessionConfig == nil) ? NSURLSession.sharedSession() : NSURLSession(configuration: sessionConfig!)
         self.requestSerializer = requestSerializer

                        return
                    }
                    var myError = NSError()
                    var isValid = self.responseSerializer?.validateResponse(response, data: data, error: &myError)
                    if (isValid == false) {
                        failure(myError)
                        return
                    }
                    if data != nil {
                        var responseObject: AnyObject? = self.responseSerializer?.response(data)
                        success(responseObject)
                    }
            })

public class Http {
    public var baseURL: NSURL?
    var session: NSURLSession
    let requestSerializer: RequestSerializer
    let responseSerializer: ResponseSerializer
    
    public convenience init() {
        self.init(url: nil)
