merging upstream updates