belief propagation added