new datastructure, makes it a little bit easier to deal with