add destructor and pointer release