 
     file.emit "fs.job.started"
     path = FSHelper.plainPath file.path
-    FSItem.create path, "folder", (err, folder)=>
+    vmName = file.vmName or FSHelper.getVMNameFromPath path
+    FSItem.create path, "folder", vmName, (err, folder)=>
       if err then warn err
       else
         command = if /\.tar\.gz$/.test file.name


    sourceItem.emit "fs.job.started"
    targetPath = FSHelper.plainPath "#{targetItem.path}/#{sourceItem.name}"
    FSHelper.ensureNonexistentPath targetPath, @vmName, (err, response)->
      if err
        warn err
        callback? err, response
      else
        KD.getSingleton('kiteController').run
          vmName   : @vmName
          withArgs : "mv #{escapeFilePath(sourceItem.path)} #{escapeFilePath(response)}"
        , (err, res)->
          sourceItem.emit "fs.job.finished"

          when "tar.gz" then "tar -pczf #{escapeFilePath response} #{escapeFilePath file.path}"
          else "zip -r #{escapeFilePath response} #{escapeFilePath file.path}"
        KD.getSingleton('kiteController').run
          vmName   : vmName
          withArgs : command
        , (err, res)->
          file.emit "fs.job.finished"
