Added number parsing. Anybody who complains about the use of goto gets the knife. It's perfectly fine how it's used here, in fact it makes it MORE readable.