def METHOD_NAME(self):
    # Main loop function
    if msg:= self.get_msg('new_letters'):
        msg = msg['data']
        msg = json.loads(msg)
        pre_behavioral_model = msg['new_symbol']
        profileid = msg['profileid']
        twid = msg['twid']
        tupleid = msg['tupleid']
        flow = msg['flow']
        if 'tcp' in tupleid.lower():
            # to reduce false positives
            threshold = 0.99
            # function to convert each letter of behavioral model to ascii
            behavioral_model = self.convert_input_for_module(
                pre_behavioral_model
            )
            # predict the score of behavioral model being c&c channel
            self.print(
                f'predicting the sequence: {pre_behavioral_model}', 3, 0,
            )
            score = self.tcpmodel.predict(behavioral_model)
            self.print(
                f' >> sequence: {pre_behavioral_model}. final prediction score: {score[0][0]:.20f}', 3, 0,
            )
            # get a float instead of numpy array
            score = score[0][0]
            if score > threshold:
                threshold_confidence = 100
                if (
                    len(pre_behavioral_model)
                    >= threshold_confidence
                ):
                    confidence = 1
                else:
                    confidence = (
                        len(pre_behavioral_model)
                        / threshold_confidence
                    )
                uid = msg['uid']
                stime = flow['starttime']
                self.set_evidence(
                    score,
                    confidence,
                    uid,
                    stime,
                    tupleid,
                    profileid,
                    twid,
                )
                attacker = tupleid.split('-')[0]
                # port = int(tupleid.split('-')[1])
                to_send = {
                    'attacker': attacker,
                    'attacker_type': utils.detect_data_type(attacker),
                    'profileid' : profileid,
                    'twid' : twid,
                    'flow': flow,
                    'uid': uid,
                }
                self.db.publish('check_jarm_hash', json.dumps(to_send))
        """
        elif 'udp' in tupleid.lower():
            # Define why this threshold
            threshold = 0.7
            # function to convert each letter of behavioral model to ascii
            behavioral_model = self.convert_input_for_module(pre_behavioral_model)
            # predict the score of behavioral model being c&c channel
            self.print(f'predicting the sequence: {pre_behavioral_model}', 4, 0)
            score = udpmodel.predict(behavioral_model)
            self.print(f' >> sequence: {pre_behavioral_model}. final prediction score: {score[0][0]:.20f}', 5, 0)
            # get a float instead of numpy array
            score = score[0][0]
            if score > threshold:
                self.set_evidence(score, tupleid, profileid, twid)
        """