added more tests and finished-off move logic