implemented text message spec