fixed: normals must have unit length