vector pattern matching