re-added temporary buffers for in-place operations