assignment 3 data structures