destroy refactored