merged upstream/ppos