implemented remaining shift functions. We passed one more test.
generalized move() method. It passes all tests, but not %100 sure it's correct.