change input interface from call to cast, and change msg to form of {From, text, Msg}