update by sw