merging in upstream changes