add level func
add posteriaze func