added removeEventListener when dealloc

for better memory management