Merge upstream changes

Merge upstream changes