Moved listenner to a dedicated class