Finished 2.2, 2.3, 2.17-2.19, 2.21, 2.23, 2.25, 2.26