vector abstract