dynamic vertex attribute names
somewhat pointlessly more restrictive classes