adapt upstream changes