Coding exercises, pragmatic ruby, section 16