added addEventListener and removeEventListener