uses NativeDigits directly