explain a bit more the difference (in semantics column) between flush and detach