         int cholfact_index = 0;
         for (int j=0; j<dim_theta; j++) {
             for (int k=0; k<(j+1); k++) {
+                // CHECK THIS: SHOULDN'T THIS BE SNORM_DEVIATE[K]?????
                 scaled_proposal[j] += h_theta_cholfact[cholfact_index] * snorm_deviate[j];
                 cholfact_index++;
             }
+            scaled_proposal[j] = 0.0;
             proposed_theta[j] = h_theta[j] + scaled_proposal[j];
         }
         
         CUDA_CALL(cudaDeviceSynchronize());
         
+        h_mha_ratios = d_mha_ratios;
+        double min_mha_ratio = 1e10;
+        double max_mha_ratio = -1.0;
+        for (int idata=0; idata<n; idata++) {
+            min_mha_ratio = std::min(min_mha_ratio, h_mha_ratios[idata]);
+            max_mha_ratio = std::max(max_mha_ratio, h_mha_ratios[idata]);
+        }
+        std::cout << "Iteration: " << current_iter << std::endl;
+        std::cout << "Minimum, Maximum MHA ratio: " << min_mha_ratio << ", " << max_mha_ratio << std::endl;
+        
+        /*
+        std::cout << "Proposed theta: ";
+        for (int j=0; j<dim_theta; ++j) {
+            std::cout << proposed_theta[j] << " ";
+        }
+        std::cout << std::endl;
+        std::cout << "Current theta: ";
+        for (int j=0; j<dim_theta; ++j) {
+            std::cout << h_theta[j] << " ";
+        }
+        std::cout << std::endl;
         // Compute Metropolis ratio
         double logdens_pop = 0.0;
         // right now we loop over the elements of chi because we assume that they are statistically independent, i.e.,

        double logdens_prop = logdens_meas + logdens_pop;
        
        // Compute the Metropolis ratio
        double ratio = logdens_prop - logdens[i];
        ratio = (ratio < 0.0) ? ratio : 0.0;
        ratio = exp(ratio);
        
        // Now randomly decide whether to accept or reject
        double unif_draw = curand_uniform_double(&localState);

            for (int k=0; k<(j+1); k++) {
                // transform the unit proposal to the centered proposal, drawn from a multivariate normal
                // or t-distribution.
                
                // DOUBLE CHECK THIS: DOES NOT LOOK RIGHT, WHY DOES K NOT APPEAR????
                scaled_proposal_j += cholfactor[cholfact_index] * snorm_deviate[j];
                cholfact_index++;
            }
            scaled_proposal_j = 0.0;
            new_chi[j] = chi[j] + scaled_proposal_j;
            scaled_proposal[j] = scaled_proposal_j;
        }
