base chat functionality/ui implemented