public void movePiece(Position startPos, Position destPos)
            throws IllegalPieceMovementException {
        int startX = startPos.getX();
        int startY = startPos.getY();
        int destX = destPos.getX();
        int destY = destPos.getY();

        if (board[destX][destY] == BOUNDARY) {
            throw new IllegalPieceMovementException("Destination is outside the board");
        }
        if (board[destX][destY] != EMPTY) {
            throw new IllegalPieceMovementException("Destination is already occupied");
        }
        if (board[startX][startY] == EMPTY) {
            throw new IllegalPieceMovementException("Now piece to move");
        }
        board[destX][destY] = board[startX][startY];
        board[startX][startY] = EMPTY;
    }