Added lots of code for lots of data structures