first vector implement