diff --git a/src/body.rs b/src/body.rs
index 20a1e6d..b27367f 100644
--- a/src/body.rs
+++ b/src/body.rs
@@ -1,5 +1,6 @@
 use crate::{instruction::{InstructionEmitter, InstructionConsumer, TimedInstruction}, zeroes::zeroes2};
 
+#[derive(Debug)]
 pub enum PhysicsInstruction {
 	CollisionStart(RelativeCollision),
 	CollisionEnd(RelativeCollision),
@@ -112,7 +113,7 @@ pub struct PhysicsState {
 	pub jump_trying: bool,
 }
 
-#[derive(Clone,Copy,Hash,Eq,PartialEq)]
+#[derive(Debug,Clone,Copy,Hash,Eq,PartialEq)]
 pub enum AabbFace{
 	Right,//+X
 	Top,
@@ -258,7 +259,7 @@ impl Model {
 
 //need non-face (full model) variant for CanCollide false objects
 //OR have a separate list from contacts for model intersection
-#[derive(Clone,Eq,Hash,PartialEq)]
+#[derive(Debug,Clone,Eq,Hash,PartialEq)]
 pub struct RelativeCollision {
 	face: TreyMeshFace,//just an id
 	model: u32,//using id to avoid lifetimes
@@ -304,6 +305,7 @@ impl PhysicsState {
 	pub fn run(&mut self, time_limit:TIME){
 		//prepare is ommitted - everything is done via instructions.
 		while let Some(instruction) = self.next_instruction(time_limit) {//collect
+			println!("{:?}",instruction);
 			//advance
 			//self.advance_time(instruction.time);
 			//process
diff --git a/src/instruction.rs b/src/instruction.rs
index 9ac3869..ece33d3 100644
--- a/src/instruction.rs
+++ b/src/instruction.rs
@@ -1,3 +1,4 @@
+#[derive(Debug)]
 pub struct TimedInstruction<I> {
 	pub time: crate::body::TIME,
 	pub instruction: I,