added text infrastructure