additional vec functions