use the better genID method