refactor flush()