 {
 	// measurements
 	int n = 10; // # of items
-	int m = 2; // # of features
+	int m = 1; // # of features
 	wrapvec d_features(m,n);
 	wrapvec d_sigmas(m,n);
-	/*
+
 	unsigned int seed = 9872498732;
 	static thrust::minstd_rand rng(seed);
 	thrust::random::experimental::normal_distribution<double> dist(0.0, 1.0);
 	// thrust::generate(d_vec.begin(), d_vec.end(), dist(rng));
-	*/
+
+	for (int i=0; i<n; i++) {
+		for (int j=0; j<m; j++) {
+			d_features[j][i] = 5.;
+			d_sigmas[j][i] = 1.;
+		}
+	}
 
 	// alloc mem for marginals
 	thrust::device_vector<double> d_marg(n);

	if (i<n)
	{
		double mu = theta[0];
		marg[i] = mu * c_wts[3] * rho(mu);
	}
}
	  

	thrust::device_vector<double> d_theta(2);

	// init, etc
	d_theta[0] = 5;
	d_theta[1] = 2;
	// cudaMemcpyToSymbol(c_theta, p_theta, d_theta.size() * sizeof(*p_theta));
	{
