vector functions added