added normalize to vec3