4.3.1 Data structures