completed to ex15.rb