much better (not perfect) itoa