sync with V1.0 upstream