movement works. crashes on out of bounds on edge of grid