(cherry picked from commit 42826a89) (cherry picked from commit 3ea15740) (cherry picked from commit 30d4f0ce)