support multiple buffers