allocate a vector just once, since that is how you usually write code