- handle negative numbers - use libc tokenization?