Exercises: * [X] 2.1 * [X] 2.2 * [X] 2.3 * [X] 2.4 * [X] 2.5 * [X] 2.6 * [X] 2.7 * [X] 2.8 * [X] 2.9 * [X] 2.10 * [X] 2.11