 		//if (tid >= facets_nb) return;
 
 		//load \memory[facet] 3 times.
-		int3 facet_index = {
+		const int3 facet_index = {
 			facets[tid * dim + 0],
 			facets[tid * dim + 1],
 			facets[tid * dim + 2]
 		};
 
 		//load \memory[vertex] 9 times.
-		double3 v1 = {
+		const double3 v1 = {
 			vertex[facet_index.x * dim + 0],
 			vertex[facet_index.x * dim + 1],
 			vertex[facet_index.x * dim + 2]
 		};
-		double3 v2 = {
+		const double3 v2 = {
 			vertex[facet_index.y * dim + 0],
 			vertex[facet_index.y * dim + 1],
 			vertex[facet_index.y * dim + 2]
 		};
-		double3 v3 = {
+		const double3 v3 = {
 			vertex[facet_index.z * dim + 0],
 			vertex[facet_index.z * dim + 1],
 			vertex[facet_index.z * dim + 2]


		
		
		CudaPolygon current_store = current_polygon;
		//doesn't have the stack?
		index_t to_visit[CUDA_Stack_size];
		index_t to_visit_pos = 0;

				CheckCUDAError("kernel function");
				
				copy_back();
				
				is_store_ = false;
				update_points();
				iter_watcher.stop();
				iter_watcher.synchronize();
				iter_watcher.print_elaspsed_time(std::cout);
