VecDestroy now takes a pointer
Much more cleanup