2.x.x only

excising breaking 3.x.x changes