Finish exercise 2.21 and 2.25