Merge upstream changes into curate_fork