     if (dm_idx==0)
       if (use_progress_bar){
 	printf("Releasing DMs to workers...\n");
-	progress->start();
+	progress->start();d
       }
     if (dm_idx >= trials.get_count()){
       retval =  -1;

            args.acc_pulse_width, size, filobj.get_tsamp(),
            filobj.get_cfreq(), filobj.get_foff()); 


  Dedisperser* dedisperser = new Dedisperser(filobj,nthreads);


  if (args.killfilename!=""){
    if (args.verbose)
      std::cout << "Using killfile: " << args.killfilename << std::endl;
    dedisperser->set_killmask(args.killfilename);
  }
  
  if (args.verbose)
    std::cout << "Generating DM list" << std::endl;
  std::vector<float> full_dm_list;

  if (args.dm_file=="none") {
    dedisperser->generate_dm_list(args.dm_start,args.dm_end,args.dm_pulse_width,args.dm_tol);
    full_dm_list = dedisperser->get_dm_list();

  }
  else { 
      bool result = getFileContent(args.dm_file, full_dm_list); 
  }

  delete dedisperser;

  int ndm_trial_gulp = args.ndm_trial_gulp != -1 ?  args.ndm_trial_gulp : full_dm_list.size();

  for(int idx=0; idx< full_dm_list.size(); idx += ndm_trial_gulp){

    std::vector<float> dm_list_chunk(full_dm_list.begin() + start,  full_dm_list.begin() + end);

    Dedisperser dedisperser(filobj,nthreads);

    if (args.killfilename!=""){
      if (args.verbose)
        std::cout << "Using killfile: " << args.killfilename << std::endl;
      dedisperser.set_killmask(args.killfilename);
    }


    dedisperser.set_dm_list(dm_list_chunk);

    if (args.verbose){
