Merge upstream updates

Merge upstream changes back in.