Merge upstream changes

Review okay