added Vec.rotate