Merged upstream changes from master