Assignments 11, 14, 15, 16, 17, 18, 19/19B (in other repo), 20, *21 FINALLY!*