i like this approach much better, reworked tokenizer