 			hostvfield[i][j] = (hostvfield[0][0] + (i*N*N + j*N));
 		}
 	}
-	std::cout << 2 << std::endl;
+//	std::cout << 2 << std::endl;
 	datagen(hostvfield);
-	std::cout << extent.width << extent.height << extent.depth << std::endl;
+//	std::cout << extent.width << extent.height << extent.depth << std::endl;
 //copy to device
 	cudaMemcpy3DParms copyParms = {0};
 	copyParms.srcPtr = make_cudaPitchedPtr((void *)hostvfield[0][0], extent.width* sizeof(float4), extent.height, extent.depth);
-	std::cout << 4 << std::endl;
+//	std::cout << 4 << std::endl;
 	copyParms.dstArray = dataArray;
 	copyParms.extent = extent;
-	copyParms.kind     = cudaMemcpyHostToDevice;
+	copyParms.kind = cudaMemcpyHostToDevice;
 	checkCudaErrors(cudaMemcpy3D(&copyParms));
-	std::cout << 5 << std::endl;
+//	std::cout << 5 << std::endl;
 	checkCudaErrors(cudaBindTextureToArray(dataTex, dataArray, channelDesc));
 	float4 *d_lines, *h_lines;
 	double time = 3.141592653*2.0;

	int blocks = 1;
	float dt = time/N;
	float4 startloc = {0,0,0,0};
	std::cout << hostvfield[127][127][127].x << std::endl;
	checkCudaErrors(cudaMalloc(&d_lines,blocks*cores*steps*sizeof(float4)));

	h_lines = (float4*) malloc(blocks*cores*steps*sizeof(float4));
	RK4line<<<cores,blocks>>>(d_lines, dt, steps, startloc);
	checkCudaErrors(cudaMemcpy(h_lines, d_lines, blocks*cores*steps*sizeof(float4), cudaMemcpyDeviceToHost));
	for(unsigned int i=0; i<steps; i++) {
		std::cout << "x= " << h_lines[i].x << "; y= "<< h_lines[i].y << " "<< h_lines[i].x*h_lines[i].x+h_lines[i].y*h_lines[i].y << std::endl;
	}
	free(hostvfield[0][0]);

}

__global__ void RK4line(float4* lineoutput, double dt, unsigned int steps, float4 loc) {
	lineoutput[0] = tex3D(dataTex, Smiet2Tex(loc));
	for (unsigned int i=1; i < steps; i++) {
		loc = loc + RK4step(loc,dt);
		lineoutput[i] = loc;
