Internal function, shouldn't be public.