sync with .net: 5cb2673ebe430cb2fd43e3ccb2dcd87389e23376