support decimal values, error recovery