public void undoMovement(Position origin, Position destiny, Piece capturedPiece)
        {
            Piece piece = board.RemovePiece(destiny);

            piece.decreaseMovementAmount();
            if (capturedPiece != null)
            {
                board.putPiece(capturedPiece, destiny);
                captured.Remove(capturedPiece);
            }
            board.putPiece(piece, origin);

            // #special move Castle Kingside
            if (piece is King && destiny.column == origin.column + 2)
            {
                Position originRook  = new Position(origin.line, origin.column + 3);
                Position destinyRook = new Position(origin.line, origin.column + 1);
                Piece    rook        = board.RemovePiece(destinyRook);
                rook.decreaseMovementAmount();
                board.putPiece(rook, originRook);
            }

            // #special move Castle Queenside
            if (piece is King && destiny.column == origin.column - 2)
            {
                Position originRook  = new Position(origin.line, origin.column - 4);
                Position destinyRook = new Position(origin.line, origin.column - 1);
                Piece    rook        = board.RemovePiece(destinyRook);
                rook.decreaseMovementAmount();
                board.putPiece(rook, originRook);
            }

            // #special move en passant
            if (piece is Pawn)
            {
                if (origin.column != destiny.column && capturedPiece == vulnerableEnPassant)
                {
                    Piece    pawn = board.RemovePiece(destiny);
                    Position positionPawn;
                    if (piece.color == Color.Whrite)
                    {
                        positionPawn = new Position(3, destiny.column);
                    }
                    else
                    {
                        positionPawn = new Position(4, destiny.column);
                    }
                    board.putPiece(pawn, positionPawn);
                }
            }
        }