diff --git a/lib/common/src/bvh.rs b/lib/common/src/bvh.rs
index 9c45cd9..5309ae4 100644
--- a/lib/common/src/bvh.rs
+++ b/lib/common/src/bvh.rs
@@ -159,7 +159,7 @@ impl<L> BvhNode<L>{
 		start_time:Ratio<Planar64,Planar64>,
 		f:&F,
 	)
-	where
+		where
 			T:Ord+Copy,
 			Ratio<Planar64,Planar64>:From<T>,
 			F:Fn(&L,&Ray)->Option<T>,
@@ -185,7 +185,7 @@ impl<L> BvhNode<L>{
 		ray:&Ray,
 		start_time:T,
 		time_limit:T,
-		f:&F,
+		f:F,
 	)->Option<(T,&L)>
 		where
 			T:Ord+Copy,
@@ -200,7 +200,7 @@ impl<L> BvhNode<L>{
 		let time_limit=time_limit.into();
 		let mut collector=InstructionCollector::new(time_limit);
 		// break open all nodes that contain ray.origin and populate nodes with future intersection times
-		self.populate_nodes(&mut collector,&mut nodes,ray,start_time,f);
+		self.populate_nodes(&mut collector,&mut nodes,ray,start_time,&f);
 
 		// swim through nodes one at a time
 		while let Some((t,node))=nodes.pop_first(){