begin tokenization rework