Completed 2.1, 2.2, 2.3