finish implementing negative field number
add support for unicode characters