Improved Vec3 class