fix destructor bug