change data structs, add descriptions