completed ch11 programming challenges