merge in upstream changes.