already merged into upstream