restore these from upstream