add remove event listener to fix the match list bug