def get_legal_moves_from(self, position):
        '''
        get legal moves for a given
        position
        :param str position: position in
        fen notation
        '''
        fen = tn.tensor_to_fen(position)
        self.rollout_game.board = chess.variant.RacingKingsBoard(fen)

        return self.get_legal_moves()
    def get_new_position(self, old_pos, move_idx):
        """
        get new position from an
        old position and a move
        selected in old position
        """
        old_fen = tn.tensor_to_fen(old_pos)
        self.rollout_game.board = chess.variant.RacingKingsBoard(old_fen)

        move_fen = tn.tensor_indices_to_move(move_idx)

        try:
            self.rollout_game.make_move(move_fen)
        except:
            raise ValueError(f"move {move_fen} \
                    not possible in position {old_fen}")

        new_fen = self.rollout_game.board.fen()
        return tn.fen_to_tensor(new_fen)