messaging backend and frontend