     public func URLSession(session: NSURLSession, task: NSURLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
         print("did send")
         response.progress = Double(totalBytesSent)/Double(totalBytesExpectedToSend)
-        progressCallback!(progressCallback: response)
+        self.progressQueue?.addOperationWithBlock {
+            self.progressCallback!(progressCallback: self.response)
+        }
     }
     
     public func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveResponse response: NSURLResponse, completionHandler: (NSURLSessionResponseDisposition) -> Void) {

    
    private var progressCallback: ((progressCallback: CloudBoostProgressResponse) -> Void)?
    private var response = CloudBoostProgressResponse()
    
    public override init(){}
    
    public static func _request( method: String, url: NSURL, params: NSMutableDictionary, callback: (response: CloudBoostResponse) -> Void ){
        
        var _method = method
        

        } catch {
            response.message = "Error in parsing resceived response"
        }
        self.progressQueue?.addOperationWithBlock {
            self.progressCallback!(progressCallback: self.response)
        }
    }


