use `into []` instead of `vec`