added vector rotation method