(cherry picked from commit eebc4bec) (cherry picked from commit 92f791e1) (cherry picked from commit 84152de6)