buffer: generic functions would not replace the old impl