prevent use-after-free