add func for gen text