final predictive text version