sync with cocore (2/2)