a distribute chat framework