new data structure and parser
vector of pointers to struct instead of vector of structs