message listenener and message sender