separating different vector functions