merged with upstream changes.changes