split into namespaces, first version of prim generation