updated buffer+cache methods