manual partial merge of 2b1b51d