(cherry picked from commit fb906b00) (cherry picked from commit 2aefb7be) (cherry picked from commit 6eeeaa53)