Better memory allocation for vector
Fix unnecessary reallocation
that was introduced by a previous uninitialized memory fix
Remove redundant instances of the struct keyword