listener and messeges