flush implemented