using our Token class to attach ranges to tokens

for more detailed error reporting