buffer bounds and cache results