much faster buffer construction