3.1 Basic Abstractions