module expose
handle buffers immediately; set buffer in heap rather than interate