add flush()