don't need to cast to vector twice