merge 4 cm upstream commits