   while (block < block_tot) {
 
     // copy the conserved variable block to the buffer
-    #ifdef TIME
-    cudaEventRecord(start, 0);
-    #endif //TIME 
     host_copy_block_3D(nx, ny, nz, nx_s, ny_s, nz_s, n_ghost, block, block1_tot, block2_tot, block3_tot, remainder1, remainder2, remainder3, BLOCK_VOL, host_conserved0, buffer, n_fields);
-    #ifdef TIME
-    cudaEventRecord(stop, 0);
-    cudaEventSynchronize(stop);
-    cudaEventElapsedTime(&elapsedTime, start, stop);
-    //printf("CPU copying: %5.3f ms\n", elapsedTime);
-    //fflush(stdout);
-    buff += elapsedTime;
-    #endif //TIME    
 
     // calculate the global x, y, and z offsets of this subgrid block
-    #ifdef TIME
-    cudaEventRecord(start, 0);
-    #endif //TIME
     get_offsets_3D(nx_s, ny_s, nz_s, n_ghost, x_off, y_off, z_off, block, block1_tot, block2_tot, block3_tot, remainder1, remainder2, remainder3, &x_off_s, &y_off_s, &z_off_s);
-    #ifdef TIME
-    cudaEventRecord(stop, 0);
-    cudaEventSynchronize(stop);
-    cudaEventElapsedTime(&elapsedTime, start, stop);
-    //printf("Getting offsets: %5.3f ms\n", elapsedTime);
-    //fflush(stdout);
-    other += elapsedTime;
-    #endif //TIME
 
     // copy the conserved variables onto the GPU
-    #ifdef TIME
-    cudaEventRecord(start, 0);
-    #endif //TIME
     CudaSafeCall( cudaMemcpy(dev_conserved, tmp1, n_fields*BLOCK_VOL*sizeof(Real), cudaMemcpyHostToDevice) );
-    #ifdef TIME
-    cudaEventRecord(stop, 0);
-    cudaEventSynchronize(stop);
-    cudaEventElapsedTime(&elapsedTime, start, stop);
-    //printf("Copy to GPU: %5.3f ms\n", elapsedTime);
-    //fflush(stdout);
-    cpto += elapsedTime;
-    #endif //TIME
  
 
-    #ifdef TIME
-    cudaEventRecord(start, 0);
-    #endif //TIME
     // Step 1: Use PCM reconstruction to put primitive variables into interface arrays
     PCM_Reconstruction_3D<<<dim1dGrid,dim1dBlock>>>(dev_conserved, Q_Lx, Q_Rx, Q_Ly, Q_Ry, Q_Lz, Q_Rz, nx_s, ny_s, nz_s, n_ghost, gama, n_fields);
     CudaCheckError();
-    #ifdef TIME
-    cudaEventRecord(stop, 0);
-    cudaEventSynchronize(stop);
-    cudaEventElapsedTime(&elapsedTime, start, stop);
-    //printf("PCM reconstruction: %5.3f ms\n", elapsedTime);
-    //fflush(stdout);
-    pcm += elapsedTime;
-    #endif //TIME
 
 
     // Step 2: Calculate first-order upwind fluxes 

    PPMP_cuda<<<dim1dGrid,dim1dBlock>>>(dev_conserved_half, Q_Ly, Q_Ry, nx_s, ny_s, nz_s, n_ghost, dy, dt, gama, 1, n_fields);
    PPMP_cuda<<<dim1dGrid,dim1dBlock>>>(dev_conserved_half, Q_Lz, Q_Rz, nx_s, ny_s, nz_s, n_ghost, dz, dt, gama, 2, n_fields);
    #endif //PPMP
    #ifdef PPMC
    #ifdef TIME
    cudaEventRecord(start, 0);
    #endif //TIME 
    PPMC_cuda<<<dim1dGrid,dim1dBlock>>>(dev_conserved_half, Q_Lx, Q_Rx, nx_s, ny_s, nz_s, n_ghost, dx, dt, gama, 0, n_fields);
    CudaCheckError();
    #ifdef TIME
    cudaEventRecord(stop, 0);
    cudaEventSynchronize(stop);
    cudaEventElapsedTime(&elapsedTime, start, stop);
    //printf("x ppm: %5.3f ms\n", elapsedTime);
    //fflush(stdout);
    ppmx += elapsedTime;
    cudaEventRecord(start, 0);
    #endif //TIME 
    PPMC_cuda<<<dim1dGrid,dim1dBlock>>>(dev_conserved_half, Q_Ly, Q_Ry, nx_s, ny_s, nz_s, n_ghost, dy, dt, gama, 1, n_fields);
    CudaCheckError();
    #ifdef TIME
    cudaEventRecord(stop, 0);
    cudaEventSynchronize(stop);
    cudaEventElapsedTime(&elapsedTime, start, stop);
    //printf("y ppm: %5.3f ms\n", elapsedTime);
    //fflush(stdout);
    ppmy += elapsedTime;
    cudaEventRecord(start, 0);
    #endif //TIME 
    PPMC_cuda<<<dim1dGrid,dim1dBlock>>>(dev_conserved_half, Q_Lz, Q_Rz, nx_s, ny_s, nz_s, n_ghost, dz, dt, gama, 2, n_fields);
    CudaCheckError();
    #ifdef TIME
    cudaEventRecord(stop, 0);
    cudaEventSynchronize(stop);
    cudaEventElapsedTime(&elapsedTime, start, stop);
    //printf("z ppm: %5.3f ms\n", elapsedTime);
    //fflush(stdout);
    ppmz += elapsedTime;
    #endif //TIME    
    #endif //PPMC
    CudaCheckError();
    

    // Step 5: Calculate the fluxes again

    memory_allocated = true;
    #endif 
  }  

  // counter for which block we're on
  int block = 0;
