add text-based chat over socket