PART I: DATA STRUCTURE DESIGN.