second part abstract data types 88766