For details, see commit a716242c9cf0e887ba6a06f262ed0eca9de9bab7
For details, see commit a716242