A more robust name generator.