- preallocate slices - use sync.Pool ? (for byte buffers?)