(cherry picked from commit d27e6aee) (cherry picked from commit 98af14bf) (cherry picked from commit e8e2c93e)