https://devby.io/news/hangouts-chat-explained