working on example 17