added vector transform