merge with upstream 3.3 branch