merge some upstream commits