Moved back to 32bit due to overflow issues..
Simplified into to char function