sync with the 2.0 branch