implemented text generator