add chat logic