making Vec smart enough to apply transformations to 3-component vectors