destructor can be left public.