add event listener
fix conflict