new approach to this tokenizer.

the last one had my head spinning tbh.