How does `chat` work?