start tokenizer implementation