the latest changes from upstream