merge in upstream changes