 			
             dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
                 
-                let parsedObject = Mapper<T>().mapArray(self.path != nil ? result.value?[self.path!] : result.value)
+                let parsedObject = Mapper<T>().mapArray(self.keyPath != nil ? result.value?[self.keyPath!] : result.value)
                 dispatch_async(queue ?? dispatch_get_main_queue()) {
                     completionHandler(self.request!, self.response, parsedObject, result.value ?? result.data, result.error)
                 }

    /*
    We need to add a stored property for path
    */
    var path: String? {
        get {
            return objc_getAssociatedObject(self, &xoAssociationKey) as! String?
        }

			

            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
                let parsedObject = Mapper<T>().map(self.keyPath != nil ? result.value?[self.keyPath!] : result.value)
                
                dispatch_async(queue ?? dispatch_get_main_queue()) {
                    completionHandler(self.request!, self.response, parsedObject, result.value ?? result.data, result.error)
