update
now support partial expand