Add more changes from upstream