   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 
     #ifdef EXACT

    tmp2 = host_conserved1;
  }

  #ifdef TIME
  cudaEventRecord(start, 0);
  #endif //TIME
  if ( !memory_allocated ){

    // allocate buffer to copy conserved variable blocks to/from

    memory_allocated = true;
    #endif 
  }  

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