use our own destructor