finish exercise in 2.3.4