improve the destroy method