add output P_c
add functions