use new datastructure