add generate_name