add better vec3 support.