add advanced data structures