add base chat functionality