add destructor function , fix segfault bug