rewrote movement functions, no longer moves all buffers at once