merging upstream 2.50