reconiling all our changes with the upstream master