virtual destructor.