added explicit destructor