Add IllegalMoveException, remove thros in methods.