use buffer management everywhere