updated from upstream: b3ec192e4991677e446e98f6e5c70d04d6a167ab