merge of 26c7aa9a5e1ee433e5f5ee59307c1840d2e0658e