completely client and partially front end
finish frontend, except the message sending part
finish frontend, except the message sending part
temp
clean up the FE, and create an interface for FE to call for sending the message