more backports from newer version