added vector functions