(cherry picked from commit efc9bc5d) (cherry picked from commit 486e7905) (cherry picked from commit b02bf3b8)