add a destroy function, helps to surive