update for recent upstream