hw1 2.19, 2.22, 2.24