add chat protocol and UI framework