add experimental text generation