diff --git a/src/bike.rs b/src/bike.rs
index e3c0340..7748563 100644
--- a/src/bike.rs
+++ b/src/bike.rs
@@ -74,7 +74,7 @@ fn spawn_bike(
     let body_collider =
         Collider::capsule_endpoints(0.5, Vec3::new(0.0, 0.0, -0.65), Vec3::new(0.0, 0.0, 0.8));
 
-    let _bike = commands
+    commands
         .spawn((xform, Visibility::default()))
         .insert((
             Name::new("body"),
@@ -86,9 +86,7 @@ fn spawn_bike(
             CatControllerState::default(),
             ColliderDensity(0.6),
             AngularDamping(0.2),
-            //LinearDamping(0.2),
-            // LinearVelocity::ZERO,
-            // AngularVelocity::ZERO,
+            LinearDamping(0.1),
             ExternalForce::ZERO.with_persistence(false),
             ExternalTorque::ZERO.with_persistence(false),
         ))
@@ -122,7 +120,7 @@ fn spawn_wheels(
         FRONT_ATTACH,
         Dir3::new_unchecked(front_rake),
         body,
-        REST_DISTANCE + WHEEL_RADIUS,
+        REST_DISTANCE,
         CyberWheel::Front,
     );
     wheel_mesh(
@@ -150,7 +148,7 @@ fn spawn_wheels(
         REAR_ATTACH,
         Dir3::new_unchecked(rear_rake),
         body,
-        REST_DISTANCE + WHEEL_RADIUS,
+        REST_DISTANCE,
         CyberWheel::Rear,
     );
     wheel_mesh(
diff --git a/src/physics.rs b/src/physics.rs
index 88d670e..b580317 100644
--- a/src/physics.rs
+++ b/src/physics.rs
@@ -164,22 +164,11 @@ mod systems {
 
     pub(super) fn suspension(
         mut bike_body_query: Query<
-            (
-                &Transform,
-                &LinearVelocity,
-                &AngularVelocity,
-                &mut ExternalForce,
-            ),
+            (&Transform, &mut ExternalForce, RigidBodyQuery),
             With<CyberBikeBody>,
         >,
         mut wheel_mesh_query: Query<
-            (
-                &mut Transform,
-                &mut WheelState,
-                &GlobalTransform,
-                &WheelConfig,
-                &CyberWheel,
-            ),
+            (&mut Transform, &mut WheelState, &WheelConfig, &CyberWheel),
             Without<CyberBikeBody>,
         >,
         caster_query: Query<(&RayCaster, &RayHits, &CyberWheel)>,
@@ -214,8 +203,13 @@ mod systems {
                 }
             }
         }
-        let (bike_xform, lin_vel, ang_vel, mut bike_forces) = bike_body_query.single_mut();
-        for (mut xform, mut state, global_xform, config, wheel) in wheel_mesh_query.iter_mut() {
+
+        let Ok((bike_xform, mut bike_forces, rbq)) = bike_body_query.get_single_mut() else {
+            bevy::log::warn!("Couldn't get body query");
+            return;
+        };
+
+        for (mut xform, mut state, config, wheel) in wheel_mesh_query.iter_mut() {
             let (caster, hits) = match wheel {
                 CyberWheel::Front => (front_caster, front_hits),
                 CyberWheel::Rear => (rear_caster, rear_hits),
@@ -244,14 +238,15 @@ mod systems {
                     Color::linear_rgb(1., 0.5, 0.2),
                 );
 
+                let _vel = rbq.velocity_at_point(hit_point);
+                //bevy::log::info!("{_vel:?}");
+
                 bike_forces.apply_force_at_point(
                     force,
                     caster.global_origin(),
                     bike_xform.translation,
                 );
-                //let vel = (global_xform.translation() - state.ppos) / dt;
 
-                state.ppos = global_xform.translation();
                 let normal = hit.normal;
                 let steering = match wheel {
                     CyberWheel::Front => normal.cross(*bike_xform.back()) * yaw,