fix event remove
remove closure
refactor