https://mytecharm.com.co/post/building-a-tokenizer-from-scratch-part-2-dsxuqe