added Vec3 class