(cherry picked from commit 6c44bb5)
(cherry picked from commit 32d4580)
(cherry picked from commit c2b17f0)