merged with 2.17 branch