refactor(buffer) add COPY, MOVE