hook docs and event listener removal