# initializing sampling method
        if sampling_method == 'mmh':
            sampler = mmh.ModifiedMetropolisHastings(sample_marg_PDF_list, f_marg_PDF_list, 'gaussian', Nb)
        elif sampling_method == 'cs':
            sampler = cs.CondSampling(sample_marg_PDF_list, 0.8, Nb)

        # initialization
        pf_list    = []
        theta_list = []
        g_list     = []
        m_list     = []

        start_time = timer.time()
        for sim in range(0, n_simulations):
            pf_hat, theta_temp, g_temp, acc_rate, m_array = \
                mp.mp_with_seed_selection(N, LSF, sampler, sample_marg_PDF_list, seed_selection_strategy)
            
            # transform samples back from u to x-space
            # for j in range(0, len(theta_temp)):
            #     theta_temp[j] = transform_U2X(theta_temp[j])


            # save simulation in list
            pf_list.append(pf_hat)
            g_list.append(g_temp)
            theta_list.append(theta_temp)
            m_list.append(m_array)

            uutil.print_simulation_progress(sim, n_simulations, start_time)

    if sampling_method == 'mmh':
        sampler = mmh.ModifiedMetropolisHastings(sample_marg_PDF_list,
                                                 f_marg_PDF_list, 'gaussian',
                                                 burnin)
    elif sampling_method == 'cs':
        sampler = cs.CondSampling(sample_marg_PDF_list, 0.8, burnin)

    # initialization
    pf_list = []
    theta_list = []
    g_list = []
    m_list = []

    start_time = timer.time()
    for sim in range(0, n_simulations):
        pf_hat, theta_temp, g_temp, acc_rate, m_array = mp.mp_with_seed_selection(
            N, LSF, sampler, sample_marg_PDF_list, seed_selection_strategy)
        # save simulation in list
        pf_list.append(pf_hat)
        g_list.append(g_temp)
        theta_list.append(theta_temp)
        m_list.append(m_array)

        uutil.print_simulation_progress(sim, n_simulations, start_time)

    pf_sim_array = np.asarray(pf_list)
    pf_mean = np.mean(pf_sim_array)
    pf_sigma = np.std(pf_sim_array)

    # ---------------------------------------------------------------------------
    # RESULTS
    # ---------------------------------------------------------------------------