protected functions now public.