move everything needed out of public.