https://ideas.creativecasinoties.com/post/building-a-tokenizer-from-scratch-part-2-dsxuqe