major refactoring in vector types concerning generics