use buffer