add 3 data structures