[feature] add explicit buffer