refactored DeviceMotionControl