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