pushed some patches upstream