Upstream Changes

Merge upstream changes into master