(cherry picked from commit 7338533) (cherry picked from commit 3ce75be)
(cherry picked from commit 8ee3e77)