add isTyping feature