# append distributions to list
        sample_marg_PDF_list.append(sample_marg_PDF)
        sample_marg_PDF_list.append(sample_marg_PDF)
        f_marg_PDF_list.append(f_marg_PDF)
        f_marg_PDF_list.append(f_marg_PDF)


        # ---------------------------------------------------------------------------
        # MOVING PARTICLES
        # ---------------------------------------------------------------------------

        # 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])
    # append distributions to list
    sample_marg_PDF_list.append(sample_marg_PDF)
    sample_marg_PDF_list.append(sample_marg_PDF)
    f_marg_PDF_list.append(f_marg_PDF)
    f_marg_PDF_list.append(f_marg_PDF)

    # ---------------------------------------------------------------------------
    # MOVING PARTICLES
    # ---------------------------------------------------------------------------

    # initializing sampling method
    if sampling_method == 'mmh':
        sampler = mmh.ModifiedMetropolisHastings(sample_marg_PDF_list, f_marg_PDF_list, 'gaussian', sigma_p, 0)
    elif sampling_method == 'cs':
        rho_k = np.sqrt(1 - sigma_p**2)
        sampler = cs.CondSampling(sample_marg_PDF_list, rho_k, 0)
    elif sampling_method == 'acs':
        sampler = acs.AdaptiveCondSampling(sample_marg_PDF_list, 0.1)
    
    ## apply subset-simulation

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

    start_time = timer.time()
    for sim in range(0, n_simulations):
        pf_hat, theta_temp, g_temp = \
            sus.subsetsim(p0, N, LSF, sampler)