macro changes
upstream 3.6