data structures rev1