reuse some more vec3's
secondary structure parsing/assignment