add threading event listener