update: flush first