retructured to accomodate static v. generated v. public.