         let imageUrl = notification.userInfo!["server_url"] as! String
         serverImageUrls.append(imageUrl)
         
-        count = count + 1
-        if count < arrImages.count {
-            print("start to upload image \(count)")
-            delegate.startUpload(count)
-            awsClient.uploadImage(authService.getLoginUser()?.email, image: arrImages[count], success: nil, error: nil, progress: nil)
+       order = order + 1
+        if order < arrImages.count {
+            print("start to upload image \(order)")
+            delegate.startUpload(order)
+            awsClient.uploadImage(authService.getLoginUser()?.email, image: arrImages[order], success: nil, error: nil, progress: nil)
         } else {
             print("Upload all images finish :D")
             
             // continue to download topic
             delegate.startUpload(-1)
+            // assign all uploaded url to topic again
             topic.parking.imageUrl = serverImageUrls
             topic.toPFObject().saveInBackgroundWithBlock {
                 (success: Bool, error: NSError?) -> Void in

    }
    
    func startUpload() {
        if (arrImages.count > 0) {
            delegate.startUpload(count)
            awsClient.uploadImage(authService.getLoginUser()?.email, image: arrImages[0], success: nil, error: nil, progress: nil)
        } else {
            print("Upload without image. Maybe for testing only :-O")

    
    func progressEvent(notification: NSNotification) {
        let progress = notification.userInfo!["percent"] as! Int
        delegate.uploadProgress(order, progress: progress,
                                progressAll: calcProgressAll(progress, order: order))
    }
    
    func calcProgressAll(progress: Int, order: Int) -> Int {
