add listener and talker