updated destructor