completed ex 2.19, 2.20