Added normal struct and generalized vector with VectorType trait