added text generation module