diff --git a/release-packaging/Classes/MySharedX.sc b/release-packaging/Classes/MySharedX.sc
deleted file mode 100644
index 7da2c7fbc7dcda9915f5d4c05d618216be4cd450..0000000000000000000000000000000000000000
--- a/release-packaging/Classes/MySharedX.sc
+++ /dev/null
@@ -1,12 +0,0 @@
-MySharedX : UGen {
-	// warp 0 = linear
-	// warp 1 = exponential
-	*kr {
-		arg minval=0, maxval=1, warp=0, lag=0.2;
-		if (warp === \linear, { warp = 0 });
-		if (warp === \exponential, { warp = 1 });
-
-		^this.multiNew('control', minval, maxval, warp, lag)
-	}
-	signalRange { ^\unipolar }
-}
diff --git a/release-packaging/Classes/Omega.sc b/release-packaging/Classes/Omega.sc
index 8b56b2f45c32e5d3343b152f2d29a8527045ce13..1b0e8bb71b72bd96fc6c7cdbeef627f34759419a 100644
--- a/release-packaging/Classes/Omega.sc
+++ b/release-packaging/Classes/Omega.sc
@@ -1,24 +1,23 @@
 OmegaPosition : UGen {
-	*kr { |minval=0, maxval=1, axisIndex=0, deviceIndex=0|
-		^this.multiNew('control', minval, maxval, axisIndex, deviceIndex)
+	*kr { |axisIndex=0, deviceIndex=0|
+		^this.multiNew('control', axisIndex, deviceIndex)
 	}
-	signalRange { ^\unipolar }
+	signalRange { ^\bipolar }
 }
 
 
 OmegaVelocity : UGen {
-	*kr { |minval=0, maxval=1, axisIndex=0, deviceIndex=0|
-		^this.multiNew('control', minval, maxval, axisIndex, deviceIndex)
+	*kr { |axisIndex=0, deviceIndex=0|
+		^this.multiNew('control', axisIndex, deviceIndex)
 	}
-	signalRange { ^\unipolar }
+	signalRange { ^\bipolar }
 }
 
 
 OmegaForceOut : UGen {
-	*kr { |minval=0, maxval=1, axisIndex=0, force=0.0, deviceIndex=0|
-		^this.multiNew('control', minval, maxval, axisIndex, force, deviceIndex)
+	*kr { |axisIndex=0, force=0.0, deviceIndex=0|
+		^this.multiNew('control', axisIndex, force, deviceIndex)
 	}
-	signalRange { ^\unipolar }
 }
 
 OmegaButton : UGen {
diff --git a/release-packaging/Examples/MySharedX-test.scd b/release-packaging/Examples/MySharedX-test.scd
deleted file mode 100644
index 5c4ff31486a4ae40a37635fd497dbb5b8698a864..0000000000000000000000000000000000000000
--- a/release-packaging/Examples/MySharedX-test.scd
+++ /dev/null
@@ -1,9 +0,0 @@
-s.boot
-
-Ndef(\a, {MySharedX.kr});
-Ndef(\b, {MySharedX.kr});
-
-Ndef(\c, {(Ndef(\a).kr - Ndef(\b).kr).poll})
-
-
-s.reboot
\ No newline at end of file
diff --git a/release-packaging/HelpSource/Classes/OmegaPosition.schelp b/release-packaging/HelpSource/Classes/OmegaPosition.schelp
index 07a31feb3a8e719f43a1283cca857b4d6f4d2958..cb42672248c377076e09a3a0fd0e2d0850107cca 100644
--- a/release-packaging/HelpSource/Classes/OmegaPosition.schelp
+++ b/release-packaging/HelpSource/Classes/OmegaPosition.schelp
@@ -1,39 +1,50 @@
 class:: OmegaPosition
-summary:: Returns the current position for the Omega.3 device
-related:: MouseX,MouseY
+summary:: Current position for the Omega.3 device
+related::  Classes/MouseX, Classes/MouseY
 categories:: UGens>Haptic, UGens>IO
 
 description::
 
-Returns the current position for the Omega.3 device
+Returns the current position in meters for the Omega.3 device. The device workspace is 160 mm x 110mm. The device resolution is less than 0.01 mm.
 
 
 classmethods::
 
-method::ar, kr
-
-argument::min
-Lower bound for scaling output.
-
-argument::max
-Upper bound for scaling output.
+method::kr
 
 argument::axisIndex
 What axis to measure.
 
+table::
+## strong::index:: || strong::axis:: || strong::direction::
+##  0 || x || back-front
+##  1 || y || left-right
+##  2 || z || down-upward
+::
+
+
+argument::deviceIndex
+Which of the available hardware devices to draw from.
+
+instancemethods::
+
+COPYMETHOD:: UGen -signalRange
 
 examples::
 
 code::
 
 // poll the x-axis, play silence
-{ OmegaPosition.kr(0, 1, axisIndex: 0).poll; 0 }.play
+{ OmegaPosition.kr(0).poll; 0 }.play
+
+// poll all three axes
+{ OmegaPosition.kr([0, 1, 2]).poll; 0 }.play
 
 // control the frequencies of three sound generators
 (
 {
-	var pos = OmegaPosition.kr(-1, 1, axisIndex: [0,1,2]);
-	var freq = pos.linexp(-1, 1, 2, 10000);
+	var pos = OmegaPosition.kr([0,1,2]);
+	var freq = pos.linexp(-0.15, 0.15, 2, 10000);
 	Splay.ar(Blip.ar(freq, 100)) * 0.1
 }.play
 )
diff --git a/src/Omega/Omega.cpp b/src/Omega/Omega.cpp
index 4acaaf491a5ca808222ab9a29e3e33baf61b3685..3b9c41bd188c585f6a05f6edc98664ba3f30d7e0 100644
--- a/src/Omega/Omega.cpp
+++ b/src/Omega/Omega.cpp
@@ -118,23 +118,17 @@ namespace Omega
   OmegaPosition::OmegaPosition()
   {
     mCalcFunc = make_calc_function<OmegaPosition, &OmegaPosition::next>();
-    m_val = 0.f;
     next(1);
   }
 
   void OmegaPosition::next(int /* inNumsamples */)
   {
-    // minval, maxval, warp, lag
-    float minval = in0(MinVal);
-    float maxval = in0(MaxVal);
     float axisIndex = in0(AxisIndex);
     int deviceIndex = (int) in0(DeviceIndex);
 
     float val = (float) gOmegaUGenGlobalState[deviceIndex].positionState[(int) axisIndex];
-    val = (maxval - minval) * val + minval;
 
     out0(0) = val;
-    m_val = zapgremlins(val);
   }
 
   // OmegaVelocity force input ugen /////
@@ -142,23 +136,17 @@ namespace Omega
   OmegaVelocity::OmegaVelocity()
   {
     mCalcFunc = make_calc_function<OmegaVelocity, &OmegaVelocity::next>();
-    m_val = 0.f;
     next(1);
   }
 
   void OmegaVelocity::next(int /* inNumSamples */)
   {
-    // minval, maxval, warp, lag
-    float minval = in0(MinVal);
-    float maxval = in0(MaxVal);
     float axisIndex = in0(AxisIndex);
     int deviceIndex = (int) in0(DeviceIndex);
 
     float val = (float) gOmegaUGenGlobalState[deviceIndex].velocityState[(int) axisIndex];
-    val = (maxval - minval) * val + minval;
 
     out0(0) = val;
-    m_val = zapgremlins(val);
   }
 
   // OmegaForceOut force output ugen /////
@@ -166,20 +154,16 @@ namespace Omega
   OmegaForceOut::OmegaForceOut()
   {
     mCalcFunc = make_calc_function<OmegaForceOut, &OmegaForceOut::next>();
-    m_val = 0.f;
     next(1);
   }
 
   void OmegaForceOut::next(int /* inNumSamples */)
   {
-    // minval, maxval, warp, lag
-    float minval = in0(MinVal);
-    float maxval = in0(MaxVal);
     float axisIndex = in0(AxisIndex);
     float force = in0(Force);
     int deviceIndex = (int) in0(DeviceIndex);
 
-    double val = (maxval - minval) * force + minval;
+    double val = force;
 
     gOmegaUGenGlobalState[deviceIndex].forceOutState[(int) axisIndex] = val;
   }
diff --git a/src/Omega/Omega.hpp b/src/Omega/Omega.hpp
index 62e3ed3b12f7d70f8dbedce30d732a39b9b2cc13..b4e16617bce57abc1de6f1f45399069b3af54ec1 100644
--- a/src/Omega/Omega.hpp
+++ b/src/Omega/Omega.hpp
@@ -36,8 +36,7 @@ namespace Omega
     void next(int nSamples);
 
     // Member variables
-    float m_val;
-    enum Inputs { MinVal, MaxVal, AxisIndex, DeviceIndex };
+    enum Inputs { AxisIndex, DeviceIndex };
   };
 
   class OmegaVelocity : public SCUnit
@@ -53,8 +52,7 @@ namespace Omega
     void next(int nSamples);
 
     // Member variables
-    float m_val;
-    enum Inputs { MinVal, MaxVal, AxisIndex, DeviceIndex };
+    enum Inputs { AxisIndex, DeviceIndex };
   };
 
   class OmegaForceOut : public SCUnit
@@ -70,8 +68,7 @@ namespace Omega
     void next(int nSamples);
 
     // Member variables
-    float m_val;
-    enum Inputs { MinVal, MaxVal, AxisIndex, Force, DeviceIndex };
+    enum Inputs { AxisIndex, Force, DeviceIndex };
   };
 
   class OmegaButton : public SCUnit