add eventlistener
update