partial support merged upstream