diff --git a/y2022/wpilib_interface.cc b/y2022/wpilib_interface.cc
index 84164bb..8df3a3a 100644
--- a/y2022/wpilib_interface.cc
+++ b/y2022/wpilib_interface.cc
@@ -82,24 +82,19 @@
 }
 
 double climber_pot_translate(double voltage) {
-  return voltage * Values::kClimberPotRatio() *
-         (5.0 /*turns*/ / 5.0 /*volts*/) *
-         Values::kClimberPotMetersPerRevolution();
+  return voltage * Values::kClimberPotMetersPerVolt();
 }
 
 double flipper_arms_pot_translate(double voltage) {
-  return voltage * Values::kFlipperArmsPotRatio() *
-         (3.0 /*turns*/ / 5.0 /*volts*/) * (2 * M_PI /*radians*/);
+  return voltage * Values::kFlipperArmsPotRadiansPerVolt();
 }
 
 double intake_pot_translate(double voltage) {
-  return voltage * Values::kIntakePotRatio() * (3.0 /*turns*/ / 5.0 /*volts*/) *
-         (2 * M_PI /*radians*/);
+  return voltage * Values::kIntakePotRadiansPerVolt();
 }
 
 double turret_pot_translate(double voltage) {
-  return voltage * Values::kTurretPotRatio() *
-         (10.0 /*turns*/ / 5.0 /*volts*/) * (2 * M_PI /*radians*/);
+  return voltage * Values::kTurretPotRadiansPerVolt();
 }
 
 constexpr double kMaxFastEncoderPulsesPerSecond =
