examples of the use of different ADT types