sync changes from upstream